hm_01_列表基本使用.py
name_list = ["zhangsan","lisi","wangwu"] # 1.取值和取索引 # list index out of range - 列表索引超出范围 print(name_list[0]) print(name_list[1]) print(name_list[2]) # 知道数据的内容,想确定数据在列表中的位置 # 使用index方法需要注意,如果传递的数据不在列表中,程序会报错! print(name_list.index("lisi")) print(name_list.index("zhangsan")) print(name_list.index("wangwu")) # 2. 修改 name_list[1] = "李四" # list assignment index out of range # 列表指定的索引超出范围,程序会报错! # name_list[3] = "王小二" # 3. 增加 # append 方法可以向列表的末尾追加数据 name_list.append("王小二") # insert 方法可以在列表的指定索引位置插入数据 name_list.insert(1,"小美眉") # extend 方法可以把其他列表中的完整内容,追加到当前列表的末尾 temp_list = ["孙悟空","猪二哥","沙师弟"] name_list.extend(temp_list) # 4. 删除 # remove 方法可以从列表中删除指定的数据 name_list.remove("wangwu") # pop 方法默认可以把列表中最后一个元素删除 name_list.pop() # pop 方法可以指定要删除元素的索引 name_list.pop(3) # clear 方法可以清空列表 name_list.clear() print(name_list)
hm_02_del关键字.py
name_list = ["张三","李四","王五"] # (知道)使用 del 关键字(delete)删除列表元素 # 提示:在日常开发中,要从列表删除数据,建议使用列表提供的方法 del name_list[0] # del 关键字本质上是用来将一个变量从内存中删除的 name = "小明" del name # 注意:如果使用 del 关键字将变量从内存中删除 # 后续的代码就不能再使用这个变量了 # print(name) print(name_list)
hm_03_列表的数据统计.py
name_list = ["张三","李四","王五","王小二","张三"] # len(length 长度) 函数可以统计列表中元素的总数 list_len = len(name_list) print("列表中包含 %d个元素" % list_len) # count 方法可以统计列表中某一个数据出现的次数 count = name_list.count("张三") print("张三出现了 %d 次" % count) # 从列表中删除第一次出现的数据,如果数据不存在,程序会报错 name_list.remove("张三") print(name_list)
hm_04_列表排序.py
name_list = ["zhangsan", "lisi", "wangwu", "wangxiaoer"] num_list = [6, 8, 4, 1, 10] # 升序 # name_list.sort() # num_list.sort() # 降序 # name_list.sort(reverse=True) # num_list.sort(reverse=True) # 逆序(反转) name_list.reverse() num_list.reverse() print(name_list) print(num_list)
hm_05_列表遍历.py
name_list = ["张三", "李四", "王五", "王小二"] # 使用迭代遍历列表 """ 顺序的从列表中依次获取数据,每一次循环过程中,数据都会保存在 my_name 这个变量中,在循环体内部可以访问到当前这一次获取到的数据 """ for my_name in name_list: print("我的名字是 %s " % my_name)
hm_06_元组基本使用.py
info_tuple = ("zhangsan",18,75,"zhangsan") # 1. 取值和取索引 print(info_tuple[0]) # 已经知道数据的内容,希望知道该数据在元组中的索引 print(info_tuple.index(18)) # 2. 统计计数 print(info_tuple.count("zhangsan")) # 统计元组中包含元素的个数 print(len(info_tuple))
hm_07_元组遍历.py
info_tuple = ("zhangsan", 18, 1.75) # 使用迭代遍历元组 for my_info in info_tuple: # 如果使用格式字符串拼接 my_info 这个变量不方便! # 因为元组中通常保存的数据类型是不同的! print(my_info)
hm_08_格式化字符串.py
info_tuple = ("小明", 233, 1.85) print("%s 年龄是 %d 身高是 %.2f" % info_tuple) info_str = "%s 年龄是 %d 身高是 %.2f" % info_tuple" print(info_tuple)
hm_09_字典的定义.py
# 字典是一个无序的数据集合,使用print函数输出字典时,通常 # 输出的顺序和定义的顺序是不一致的! xiaoming = {"name": "小明", "age": 18, "gender": True, "height": 1.75, "weight": 80 } print(xiaoming)
hm_10_字典基本使用.py
xiaoming_dict = {"name": "小明"} # 1.取值 print(xiaoming_dict["name"]) # 在取值的时候,如果指定的key不存在,程序会报错! # print(xiaoming_dict["name123"]) # 2.增加 /修改 # 如果key不存在,会新增键值对 xiaoming_dict["age"] = 18 # 如果key存在,会修改已经存在的键值对 xiaoming_dict["name"] = "小小明" # 3.删除 xiaoming_dict.pop("name") # 在删除指定键值对的时候,如果指定的key不存在,程序会报错! # xiaoming_dict.pop("name123") print(xiaoming_dict)
hm_11_字典的其他操作.py
xiaoming_dict = {"name": "小明", "age": 18} # 1. 统计键值对数量 print(len(xiaoming_dict)) # 2. 合并字典 temp_dict = {"height": 1.75, "age": 20} xiaoming_dict.update(temp_dict) # 3. 清空字典 xiaoming_dict.clear() print(xiaoming_dict)
hm_12_字典的遍历.py
xiaoming_dict = {"name": "小明", "qq": "123456", "phone": "10086"} # 迭代遍历字典 # 变量k是每一次循环中,获取到的键值对的key for k in xiaoming_dict: print("%s - %s" % (k,xiaoming_dict[k]))
hm_13_字典的应用场景.py
# 使用 多个键值对,存储 描述一个 物体 的相关信息 —— 描述更复杂的数据信息 # 将 多个字典 放在 一个列表 中,再进行遍历 card_list = [ {"name": "张三", "qq": "12345", "phone": "110"}, {"name": "李四", "qq": "54321", "phone": "10086"}, ] for card_info in card_list: print(card_info)
hm_14_字符串定义和遍历.py
str1 = "hello python" str2 = '我的外号是“大西瓜”' print(str1) print(str2) print(str1[6]) for char in str2: print(char)
hm_15_字符串统计操作.py
hello_str = "hello hello" # 1. 统计字符串长度 print(len(hello_str)) # 2. 统计某一个小(子)字符串出现的次数 print(hello_str.count("llo")) print(hello_str.count("abc")) # 3. 某一个子字符串出现的位置 print(hello_str.index("l")) # 注意:如果使用index方法传递的子字符串不存在,程序会报错! # print(hello_str.index("z"))
hm_16_字符串判断方法.py
# 1. 判断是否只包含空白字符空格 space_str = " \t\n\r" print(space_str.isspace())\ # 2. 判断字符串中是否只包含数字 # num_str = "1" # 1> 都不能判断小数 # num_str = "1.1" # 2> unicode 字符串 # num_str = "\u00b2" # num_str = "⑴" # 3> 中文数字 num_str = "一千零一" print(num_str) print(num_str.isdecimal()) print(num_str.isdigit()) print(num_str.isnumeric())
hm_17_字符串的查找和替换.py
hello_str = "hello world" # 1. 判断是否以指定字符串开始 # print(hello_str.startswith("hello")) # True # print(hello_str.startswith("Hello")) # False # 2. 判断是否以指定字符串结束 # print(hello_str.endswith("world")) # True # 3. 查找指定字符串 # index同样可以查找指定的字符串在大字符串中的索引 # print(hello_str.find("llo")) # 2 # index如果指定的字符串不存在,会报错 # find如果指定的字符串不存在,会返回-1 # print(hello_str.find("abc")) # -1 # 4. 替换字符串 # replace方法执行完成之后,会返回一个新的字符串 # 注意:不会修改原有字符串的内容 print(hello_str.replace("world","Python")) print(hello_str)
hm_18_字符串文本对齐.py
# 假设:以下内容是从网络上抓取的 # 要求:顺序并且居中对齐输出以下内容 poem = ["\t\n登鹳雀楼", "王之涣", "白日依山尽\t\n", "黄河入海流", "欲穷千里目", "更上一层楼"] for poem_str in poem: # 先使用strip方法去除字符串中的空白字符 # print(poem_str.strip()) # 再使用center方法居中显示文本 # print("|%s|" % poem_str.center(10," ")) print("|%s|" % poem_str.strip().center(10, " ")) # print("|%s|" % poem_str.ljust(10," ")) # print("|%s|" % poem_str.rjust(10," "))
hm_19_字符串拆分和拼接.py
# 假设:以下内容是从网络上抓取的 # 要求: # 1. 将字符串中的空白字符全部去掉 # 2. 再使用 " " 作为分隔符,拼接成一个整齐的字符串 poem_str = "登鹳雀楼\t 王之涣 \t 白日依山尽 \t \n 黄河入海流 \t\t 欲穷千里目 \t\t\n更上一层楼" print(poem_str) # 1. 拆分字符串 poem_list = poem_str.split() print(poem_list) # 2. 合并字符串 result = " ".join(poem_list) print(result)
hm_19_字符串的切片.py
num_str = "0123456789" # 截取2~5的位置 print(num_str[2:6]) # 截取2~末尾字符串 print(num_str[2:]) # 截取 开始~5 的位置 print(num_str[0:6]) print(num_str[:6]) # 截取完整的字符串 print(num_str[:]) # 从开始位置,每隔一个字符截取字符串 print(num_str[::2]) # 从索引1开始,每隔一个取一个 print(num_str[1::2]) # 截取从2~末尾-1的字符串 print(num_str[2:-1]) # 截取字符串末尾两个字符 print(num_str[-2:]) # 字符串的逆序(面试题) print(num_str[-1::-1]) print(num_str[::-1])
hm_20_for语法演练.py
for num in [1,2,3]: print(num) if num == 2: break else: print("会执行吗?") # 如果循环体内部使用break退出了循环 # else 下方的代码就不会被执行 print("循环结束")
hm_21_遍历字典的列表.py
student = [ {"name": "阿土"}, {"name": "小美"} ] # 在学员列表中搜索指定的姓名 find_name = "张三" for stu_dict in student: print(stu_dict) if stu_dict["name"] == find_name: print("找到了 %s" %find_name) # 如果已经找到,应该直接退出循环,而不再遍历后续的元素 break # else: # print("没有找到 %s" % find_name) # 如果希望在搜索列表时,所有的字典检查之后,都没有发现需要搜索的目标 # 还希望得到一个统一的提示! else: print("没有找到 %s" % find_name) print("循环结束")