元组,字典,集合 元组 字典 集合

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