【python基础语法】元祖、字典、集合、数据类型的分类(第4天课堂笔记)
""" 列表:可变数据类型,对列表内部的元素可以进行修改 元祖: tuple,不可变数据类型,是不可以进行增删查改 元祖的方法: count 查找元素的数量 index 从前往后依次查询元素的下标位置 字符串、列表、元祖总结: 序列类型:字符串、列表、元祖内部元素是有序的 通用操作: 下标取值 切片 获取元素的总数:len() 字典 字典中的数据,每条都是由键值对组成(key:value) key:只能是不可变类型的数据(尽量用字符串) value:可以是任意类型的数据 字典的增删查改: 不可变类型的数据:数值类型、字符串、元祖 可变类型的数据:列表、字典、集合 集合 # 如何区分可变不可变数据,定义一个集合,把数据放到集合中看会不会报错 """ # 元祖,元祖中的数据可以是任意类型 tu = (1, 2, 3) print(type(tu)) # 元祖下标取值 print(tu[0]) # 元祖切片 print(tu[:2]) # 元祖定义的时候,注意点: # 如何去定义一个空元祖 tu1 = () print(type(tu1)) # 元祖中只要一个元素时,如何定义,加个逗号 tu2 = (11,) print(type(tu2)) # 通过tuple定义元祖 tu4 = tuple((11,)) print(type(tu4), tu4) # 列表 字符串 元祖 之间的转换 # list(): 可以将元祖 或者字符串 转换为 列表 l = [11, 22, 33] s = "abc" t = (1, 2, 3) print(list(s)) print(list(t)) # tuple(): 可以将 列表 或者字符串 转换为元祖 print(tuple(s)) print(tuple(l)) # 元祖的方法 tu = (1, 2, 3, 4, 5, 6, 11, 22, 33, 12, 1, 3) # cont: print(tu.count(1)) # index:从前往后依次查询元素的下标位置 print(tu.index(11)) # 内置函数 len():获取数据的元素总数(长度) print(len(l)) print(len(s)) student = [["余蓉", 18, '女'], ['黄晨',18, '男'] ] s = student[1] print(s) # 字典的定义:{} # 字典中的每一条数据由两部分组成:key:value(键值对) s11 = [ {"name": "余蓉", "age": 18, "gender": "女"}, {"name": "黄晨", "age": 18, "gender": "男"}, ] # 拿到列表中的字典 s0 = s11[0] s1 = s11[1] # 拿到字典中的元素 print(s0["name"]) print(s1["name"]) # 测试用例的数据:接口地址:url 入参:data 预期结果:excepted # 100条测试用例数据 case = {"url": "www.baidu.com", "data": 123, "excepted": 123456} dic = {"name":"小明"} # 字典的定义 dic1 = {} print(dic1,type(dic1)) # 字典的增删查改方法 # 字典中添加元素 # 通过键进行赋值 dic[key] = 值 dic["age"] = 18 print(dic) # 字典中修改元素(字典中的key是唯一的,不能重复), dic["age"] = 188 # 总结:字典添加和修改元素,无key则增,有则改 # 字典中查找元素 # 通过键去找对应的值(当查找的键不存在时,会报错) n = dic["name"] print(n) # 第二种:dic.get(key)(当查找的键不存在时,返回的是None) n = dic.get('name') print(n) # 字典中删除元素 dic1 = {'aa':11,'bb':22,'cc':33} # pop方法:指定键去删除键值对 print(dic1.pop("aa")) print(dic1) # popitem:删除字典中的最后一个键值对(python3.6开始) dic1.popitem() print(dic1) # del关键字 进行删除 del dic1['bb'] print(dic1) # 字典中常用的其他的几个方法 dic2 = {'aa': 11, 'bb': 22, 'cc': 33} # keys:获取所有的键 print(list(dic2.keys())) # values:获取所有的值 print(list(dic2.values())) # items:获取所有的键值对,每个键值对是一个元祖的形式 print(list(dic2.items())) # 字典创建的其他方式: # 方式一 dic3 = {'name': "小明","age": 18,"gender": "男"} # 方式二 dic4 = dict(name="小明", age=18, gender="男") # 方式三 dic5 = dict([('aa',11),('bb',22),('cc',33)]) print(dic3) print(dic4) print(dic5) # 合并两个字典的方法:update,dic1更新到dic3里面去 dic3.update(dic1) print(dic3) # 在字典里面追加多个键值对 dic3.update({"ff": 11, "dd": 99}) print(dic3) # 集合:通过{}来表示,{1,2,3,4,5} set1 = {1, 2, 3, 4, 5} print(set1) print(type(set1)) # 怎样定义空集合? set2 = set() print(type(set2)) # 集合中不能够存在重复的元素, set3 = {1, 1, 2, 3, 4, 5, 6, 7, 8, 8} print(set3) # 通过集合可以去除列表中的重复元素 li1 = [1, 2, 3, 4, 5, 6, 1, 2, 7, 8] # 将列表转换为集合 s = set(li1) # 然后将集合转换为列表 li2 = list(s) print(li2) # 扩展 # 集合中的数据只能是不可变数据类型:字符串 元祖(其他类型会报错) print({11, 22, 33, '123', (1, 2, 3)}) # 集合和字典是无序的 # hash算法加密,按对应规则进行存储 # 字典中是对key进行hash # 集合中是直接对集合中的数据进行hash # 只有不可变类型的数据进行hash