元组,字典,集合
元组
基本使用:tuple 用途:记录多个值,当多个值没有改的需求,此时用元组更合适 定义方式:在()内用逗号分隔开多个任意类型的值 元组有排列顺序,是不可变类型 #1、按索引取值 正索引可以正向取和负索引可以反向取,不能改只能取 #2、切片(顾头不顾尾,步长) 元组[索引位:索引位:步长] 左边的固定就是头,右边固定就是尾 没有按数字来分头尾,步长不写默认是1 切片取值默认是从左往右的 正步长左索引位需比右索引位小 负步长左索引需比右索引大 #3、长度 len(元组) #4、成员运算in和not in 判断一个元素是否存在于元组中 #5、循环 for循环遍历元组中每个元素 # count() 统计元素在元组中出现的次数 # index() index(元素,头,尾) 头,尾是索引的范围不传查找所有,返回结果是所传元素所在的索引值
字典
# 1 用途:记录多个值,每一个值都对应的key用来描述value的作用 # 2 定义方式:在{}内用逗号分隔开多个key:value,其中value可以是任意类型,而key必须是不可变的类型,通常情况下应该str类型 强调:字典的key是不能重复的 要唯一标识一条数据 # 如果重复了 只会按照最后一组重复的键值对存储 字典是无序排列的是可变类型 # 定义字典的三种方式 以{}套key:值以逗号隔开 # d1 = {'name':'jason','password':123} 以{}套key=值以逗号隔开 # d2 = dict(name='jason',password=123,age=18) 以大列表套多个小列表,各小列表里以键,值存储2各元素 直接dict(大列表)或定义一个空字典,for循环出各小列表中键和值以空字典名[键]=值存入空字典 # 了解即可 # l = [ # ['name','jason'], # ['age',18], # ['hobby','read'] # ] # d = {} # # for i in l: # ['name','jason'],['age',18]... # for k,v in l: # ['name','jason'],['age',18]... # # d[i[0]] = i[1] # d[k] = v # print(d) # d3 = dict(l) # print(d3) #优先掌握的操作: #1、按key存取值:可存可取 ,键名不存在会报错,字典取值推荐用get方法 存 dict[键名] = 值 取 dict[键名] #2、长度len # 统计的键值对的个数 len(dict) #3、成员运算in和not in 对于字典来说只能判断key值 #4、删除 dict.pop(key) 弹出结果仅仅是value,当键不存在的时候直接报错 dict.clear()清空字典 #5、键keys(),值values(),键值对items() dict.keys() 取出字典的所有键形成一个列表 dict.values() 取出字典的所有值形成一个列表 dict.items() 取出字典的所有键值对结果是列表套元组形式,元组的第一个元素是字典的key 第二个元素是字典的value #6、循环 字典的for循环只能循环出字典的key # dict.get(key) 根据key获取value 当字典的key不存在的情况 不报错 返回None get可以传第二个参数。当你的key不存在的情况下,返回第二个你写好的参数信息,不写默认返回None # dict.fromkeys() 快速的创建一个字典 可以传2个参数 第一个参数传入字符串,以每个字符当键 第一个参数传入容器类数据,以每个元素当键 第二个参数为值的默认值不传默认为None # dict.popitem() 以元组的形式弹出字典尾部键值对 # dict.setdefault(键,值) 当字典键已存在的情况下 不修改值 并且将原先key对应值返回给你 当键不存在的情况下 新增一个键值对 并且将新增的键值对的值返回给你 # dict.update() 参数可以传入另一个字典,将键值对添加到字典中 也可以传入键=值,添加新键值对
集合
# 用途: 关系运算,去重 # 定义方式: 在{}内用逗号分开个的多个值 # 集合的三大特性: # 每一个值都必须是不可变类型 # 元素不能重复 # 集合内元素无序 # 优先掌握的操作: # 1、长度len len(set) # 2、成员运算in和not in # 3、|合集 set1 | set2 两个集合所有的元素 # 4、&交集 set1 & set2 两个集合共有的元素 # 5、-差集 set1 - set2 set1在set2没有的元素 # 6、^对称差集 set1 ^ set2 两个集合不是共同拥有的元素 # 7、== set1 == set2 两个集合元素是否相等 # 8、父集:>,>= set1 > set2 set1 >= set2 set1是否包含set2 set.issuperset(set) # 9、子集:<,<= set1 < set2 set1 <= set2 set2是否包含set1 set.issubset(set) add()