一、列表
列表的方法
1.列表.append(元素)
向列表中追加一个元素
2.列表.extend(容器)
将该容器的内容添加到列表尾处
3.列表.insert(下标,元素)
在指定下标处,插入指定元素
4.del 列表[下标]
删除指定下标元素
5.列表.pop(下标)
删除指定下标元素
6.列表.remove(删除)
从前向后,删除该元素的第一个
7.列表.clear()
清空列表
8.列表.count(元素)
统计该元素出现的次数
9.列表.index(元素)
查找指定元素的下标,若找不到则报错
10.len(列表)
统计容器的元素个数
""" 数据容器列表的常见操作 """ my_list = ['周杰伦','林俊杰','五月天','邓紫棋'] print(my_list) print(type(my_list)) # 1.向列表中追加一个元素 my_list.append('苏打绿') print(f"添加新元素后的列表是:{my_list}") # 2.添加一个容器 new_my_list = ['吴青峰','张杰'] my_list.extend(new_my_list) print(f"添加一个容器后的列表是:{my_list}") # 3.在指定下标处插入指定元素 my_list.insert(1,'hello') print(f"在1处插入指定元素后的列表是:{my_list}") # 4.删除指定下标元素 # 4.1 用del 列表[下标] del my_list[1] print(f"删除1处指定元素后的列表是:{my_list}") # 4.2 用列表.pop(下标) my_list.pop(1) print(f"删除1处指定元素后的列表是:{my_list}") # 5.删除某个元素的第一个匹配项 my_list.append('周杰伦') print(my_list) my_list.remove("周杰伦") print(f"删除第一个匹配项后的列表是:{my_list}") # 6.清空列表 my_list.clear() print(f"清空列表后的列表是:{my_list}") # 7.统计某个元素出现的个数 my_list = ["五月天","五月天","周杰伦"] num = my_list.count("五月天") print(f"五月天的个数是{my_list}") # 8.查找指定元素的下标 my_list = ["五月天","五月天","周杰伦"] print(f"周杰伦的下标是:{my_list.index("周杰伦")}") # 9.统计容器内元素的个数 my_list = ["五月天","五月天","周杰伦"] print(f"容器内的所有元素是{len(my_list)}个") # 10.列表的遍历 # 10.1 while循环遍历 my_list = ["五月天","五月天","周杰伦"] index = 0 while index < len(my_list): element = my_list[index] print(f"列表的元素:{element}") index += 1 # 10.2 for循环遍历 for element in my_list: print(f"列表的元素:{element}")
""" 元组和列表唯一的区别就是存储的元素不可以修改 # 定义元组字面量 (元素,元素,...,元素) # 定义元组变量 变量名称 = (元素,元素,...,元素) # 定义空元组 变量名称 = () 变量名称 = tuple() """ # 查找元组某个数据,返回该数据的下标 t1 = ("Jack","Bob","Erik") index = t1.index("Jack") print(f"Jack的下标是:{index}") # 统计某个元素的出现次数 t1 = ("Jack","Jack","Bob","Erik") num = t1.count("Jack") print(f"Jack的出现次数是{num}次") # 统计元组的所有元素个数 t1 = ("Jack","Jack","Bob","Erik") num = len(t1) print(f"t1中的元素个数是{num}个") # 元组的遍历:while t1 = ("五月天","周杰伦","邓紫棋") index = 0 while index < len(t1): print(f"元组中的元素有:{t1[index]}") index +=1 # 元组的遍历: for t1 = ("五月天","周杰伦","邓紫棋") for element in t1: print(f"元组中的元素有:{element}") # 元组的内容不可以修改,否则会报错 # 但是元组中的列表里的元素可以修改 t2 = ("五月天","五月天",["五月天","五月天"]) t2[2][1] = "林俊杰" print(t2)
""" # 字符串是数据容器的一员 # 字符串同元组一样不可以修改 # 故要修改字符串,只能得到一个新的字符串 """ # 通过下标索引取值 my_str = "I love love python" value1 = my_str[-18] value2 = my_str[0] print(f"字符串{my_str}下标为0的元素是{value2},下标为-18的元素是{value1}") # index方法 my_str = "I love love python" value = my_str.index("love") print(f"字符串中love的起始下标是:{value}") # replace方法:字符串.replace(字符串1,字符串2) my_str = "I love love python" new_my_str = my_str.replace("love","hate") print(f"将字符串{my_str}替换后得到{new_my_str}") # split方法 # split切分后是得到列表 my_str = "I love love python" my_str_list = my_str.split(" ") print(f"将字符串{my_str}进行split切分后得到:{my_str_list},类型是{type(my_str_list)}") # strip方法 规整操作 my_str = " I love love python " new_my_str = my_str.strip() print(f"字符串{my_str}规整后得到{new_my_str}") # 统计字符串中某字符串的出现次数 my_str = "I love love python" count = my_str.count("love") print(f"字符串中love的个数是{count}个") # 统计字符串的长度 my_str = "I love love python" num = len(my_str) print(f"字符串的长度是{num}") # for循环
""" 集合 """ # 定义集合字面量 # {元素,元素,...,元素} # 定义集合变量 # 变量名称 = {元素,元素,...,元素} # 定义空集合 # 变量名称 = set() # 集合是无序的,且是不重复的,故集合是不支持下标索引访问的 my_set = {"五月天","周杰伦","林俊杰"} print(f"现在的集合是:{my_set},类型是{type(my_set)}") # 添加新元素 语法:集合.add(元素) my_set.add("苏打绿") print(f"添加元素后的集合是:{my_set},类型是{type(my_set)}") # 移除元素 语法:集合.remove(元素) my_set.remove("林俊杰") print(f"删除元素后的集合是:{my_set},类型是{type(my_set)}") # 随机取出一个元素 语法:集合.pop() element = my_set.pop() print(f"随机取出的一个元素是:{element},类型是{type(element)}") # 清空集合 语法:集合.clear() my_set.clear() print(f"清空后的集合是:{my_set},类型是{type(my_set)}") # 取2个集合的差集 语法:集合1.difference(集合2),取出集合1有的集合2没有的 # 得到一个新集合,不改变集合1和集合2 my_set = {"五月天","周杰伦","林俊杰"} your_set = {"五月天","陈奕迅","许嵩"} new_set = my_set.difference(your_set) print(f"新集合是:{new_set},类型是{type(new_set)}") # 消除2个集合的差集 语法:集合1.difference_update(集合2),在集合1内删除和集合2相同的元素 # 集合1被修改,集合2不变 new_set = my_set.difference_update(your_set) print(f"my集合是:{my_set},类型是{type(my_set)}") print(f"新集合是:{new_set},类型是{type(new_set)}") # 2个集合合并为1个 语法:集合1.union(集合2) # 得到新集合,集合1和集合2不变 my_set = {"五月天","周杰伦","林俊杰"} your_set = {"五月天","陈奕迅","许嵩"} new_set = my_set.union(your_set) print(f"新集合是:{new_set},类型是{type(new_set)}") # 统计集合元素数量len() my_set = {"五月天","周杰伦","林俊杰"} print(f"集合内的元素数量是{len(my_set)}个") # 集合的遍历 for element in my_set: print(f"集合内的元素有:{element}")
""" #序列是指:内容连续、有序,可使用下标索引的一类数据容器 列表、元组、字符串均可以视为序列 #序列的常用操作:切片 切片,即从一个序列中取出一个子序列 #语法:序列[起始下标:结束下标:步长] 起始下标和结束下标(不含)留空意思是从头开始和截止到最后一个元素 步长为负数,代表反向取 # 这个操作不会影响序列本身,而是得到一个新的序列 """
""" # 不支持下标索引 # 每一份数据是键值对 # 由Key获得value,key不可以重复 # value可以修改 # 支持for循环,不支持while循环 """ # 定义字典字面量 # {key:value,key:value,....,key:value} # 定义字典变量 # my_dict = {key:value,key:value,....,key:value} # 定义空字典 # my_dict ={} # my_dict = dict() # 定义字典 my_dict = {"Java":80,"C++":90,"Python":99} print(f"字典的内容是:{my_dict},类型是:{type(my_dict)}") # 定义重复的字典 my_dict = {"Java":80,"Java":89,"C++":90,"Python":99} print(f"输出存在重复Key的字典:{my_dict}") # 从字典中基于key获取value score = my_dict["Java"] print(f"Java的得分是{score}") # 定义嵌套字典 # 字典的key和value可以是任意数据类型(key不可以是字典) # 例子,记录学生各科考试成绩 student_score_dict = {"Erik":{"Java":99,"Python":98,"C++":97}, "Bob":{"Java":88,"Python":87,"C++":87}, "Ouyang":{"Java":100,"Python":100,"C++":100} } print(f"学生各科的考试成绩是:{student_score_dict}") # 从嵌套字典中获取数据 score = student_score_dict["Ouyang"]["Python"] print(f"Ouyang的Python成绩是{score}分") # 新增元素或是更新元素 # 新增元素 student_score_dict["Tom"] = {"Java":66} print(f"新增Tom成绩后的字典是{student_score_dict}") # 更新元素 student_score_dict["Tom"]["Java"] = 76 print(f"更新Tom成绩后的字典是{student_score_dict}") # 删除元素 语法:字典.pop(元素) student_score_dict.pop("Tom") print(f"删除Tom成绩后的字典是{student_score_dict}") # 清空元素 语法:字典.clear() student_score_dict.clear() print(f"清空后的字典是{student_score_dict}") # 获取全部的key 语法:字典.keys() student_score_dict = {"Erik":{"Java":99,"Python":98,"C++":97}, "Bob":{"Java":88,"Python":87,"C++":87}, "Ouyang":{"Java":100,"Python":100,"C++":100} } keys = student_score_dict.keys() print(f"全部的key是{keys},key的类型是{type(keys)}") # 遍历字典 # 方式1:获取全部的key来遍历 for key in keys: print(f"字典中的key是:{key}") print(f"字典中的value是:{student_score_dict[key]}") # 方式2:直接对字典进行for循环 for key in student_score_dict: print(f"字典2中的key是:{key}") print(f"字典2中的value是:{student_score_dict}") # 统计字典内的元素数量 语法:len(字典) num = len(student_score_dict) print(f"字典内的元素数量:{num}个")
""" """ # len元素个数 # max最大元素 # min最小元素 # 类型转换 # list(容器) 将指定容器转为列表 # tuple(容器) 将指定容器转为元组 # str(容器) 将指定容器转为字符串 # set(容器) 将指定容器转为集合 # 容器通用排序功能,排序的结果是列表对象 # 语法:sorted(容器)