元组
基本使用: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()