image.png
    1.
    元组:不可变的序列

    1. #元组的创建方式
    2. tu1 = (1, 0.1, 'a', b'1', [], True, None) #元素可以为任意类型
    3. tuple(iterable) #元素只能为可迭代对象
    1. #元组与列表相同操作
    2. tu1 = (1, 0.1, 'a', b'1', [], True, None)
    3. print(tu1[0]) #1 访问元素
    4. print(tu1[::-1]) #(None, True, [], b'1', 'a', 0.1, 1) 切片
    5. print(tu1.count(1)) #2 统计元组中元素出现的次数 True==1
    6. tu1.index(1, 2)#5 索引元素的第几次出现的位置
    7. print(tuple(reversed(tu1)))
    8. #(None, True, [], b'1', 'a', 0.1, 1) reversed()函数 反转迭代器的序列值 返回反向迭代器
    9. tu2 = (1, 8, 3, 5, 4)
    10. print(sorted(reverse=False,tu2))
    11. #[1, 3, 4, 5, 8] sorted() 排序 reverse的值默认为False,即升序排列,为reverse的值为True时则降序排列
    12. tu = (1, 2)
    13. tu0 = (2, 5)
    14. print(tu + tu0) #(1, 2, 2, 5) 两个拼接成一个新的元组
    15. print(tu * 3) 同一个元组中多次拼接成一个新的元组

    元组中不允许修改、新增元素
    不允许删除某个元素,但可以删除整个元组

    1. tu = (1, 2, 3)
    2. del tu #删除整个元组
    1. #元组与列表的相互转换 只能转换可迭代的对象
    2. list(iterable) #强转为列表
    3. tuple(iterable) #强转为元组

    字典:可变序列
    基于哈希散散列,用键值对,可以很快查取、插入、修改、删除
    元素的个数、值的类型都没有限制
    但是key必须为不可变对象,例如int,str,bytes,tuple, 最多的是str
    list,dict,set不可作为key,key必须是唯一的(重复会覆盖),value就duck不必

    1. #字典的创建
    2. dic = {key1 : value1, key2 : value2 }
    3. dict(key1 = value1, key2 = value2)
    4. dict([key1 : value1], [key2 : value2])
    5. dict([(key1, value1),(key2, value2)]) #mapping映射 不太懂
    1. map(func, *iterables) #将 iterables 里面的元素逐个传到 func 里面做处理
    2. zip(iter1 [,iter2 [...]]):#将iter1 iter2 中对应的元素打包成一个个元组,然后返回由这些元组组成的列表

    字典是集合类型,不是序列类型,不能索引下标,不能切片

    1. dic[key1] #取值 key1不存在会报错
    2. dic[new_key] = new_value #增加
    3. dice[key1] = new_value #修改 覆盖
    4. del dic[key1] #删除key1
    5. dic.pop(key1) #删除key1
    6. del dic #删除字典
    7. dic.clear() #清空字典

    常见操作

    1. dic.get(key1) #访问key1的值,key1不存在不会报错 返回None
    2. dic.items() #列出所有key和value,多用于循环
    3. dic.keys() #列出所有key
    4. dic.values() #列出所有value

    2、3:

    1. li1 = ['name', 'age', 'addr']
    2. li2 = ['Khalil', 24, 'Wuhan']
    3. dic = dict(zip(li1, li2))
    4. print(dic)
    5. print(dic.keys(), dic.values())
    1. li1 = ['name', 'age', 'addr']
    2. li2 = ['Khalil', 24, 'Wuhan']
    3. dic = dict(map(lambda key, value: [key, value], li1, li2))
    4. #抄的的代码 lamda是啥 迷迷糊糊
    5. print(dic)
    6. print(dic.keys(), dic.values())