序列----元组、字典、集合

1. 元组

1.1 元组简介

  1. 元组,类型是tuple,是一个不可变序列;
  2. 一般情况下,我们不希望数据改变时,使用元组,其余的用列表;
  3. 空元组,();
  4. 创建元组的方式,如果一个元组不是空元组,它里面至少含有一个“ ,”
    my_tuple = ()
    my_tuple = (10,20,30,40)
    my_tuple = 10,20,30,40
  5. 索引,my_tuple[ 3 ],打印结果为 40 ;
  6. 元组解包
    元组解包:将元组中的每一个元素赋值给一个变量,在解包时,变量的数量和元组的数量要保持一致,如果不一致,可以在变量前加一个“ * ”,这样可以获取元组中剩余的元素并以列表的形式返回;
    例如:
    my_tuple = (10,20,30,40)
    a,b,c,d = my_tuple
    打印 a = 10, b = 20, c = 30, d = 40;
    a,b,*c = my_tuple
    打印 a = 10, b = 20, c = [30, 40];
  7. 解包适用于所有的序列。

2. 字典

2.1 字典简介

  1. 字典,类型是dict;
  2. 字典的数据结构,映射(mapping);
  3. 用于存储对象的容器,和列表类似;
  4. 列表存储数据的性能比较好,但查询性能比较差,字典正好相反;
  5. 在字典中,每一个元素都有唯一一个名与之对应,我们可以通过名来查询到指定的元素;
  6. 我们将这个名称之为键(key),通过键我们可以找到值(value);
  7. 所以我们也将字典称之为键值对(key–value);
  8. 字典中可以有很多键值对,每一对键值对我们称之为项(item);
  9. 创建字典的方式
    语法:{key : value , key : value , key : value …}
    d = {“name” : "钢铁侠“ , “age” : 39 , “gender” : “男”}
    d = {
    “name” : "钢铁侠“ ,
    “age” : 39 ,
    “gender” : “男”
    }
  10. 通过键查询值
    print(d[“name” , “age” , ”gender"])

2.2 字典的使用

  1. 通过函数创建
    语法:d = dict(key=value,key=value…)
    d = dict(name="钢铁侠“,age=39,gender="男”)
    语法:d = dict([(key,value),(key,value)…])
    dict函数可以将双值子序列转化为字典
    双值子序列
    双值序列:序列中只有两个值 [1,2] “ab”
    双值子序列:指子序列为双值序列,[(“a”,1),(“b”,2)]
    d = dict([(“name”,“钢铁侠”),(“age”,39),(“gender”,"男)])
  2. len()函数:获取字典中键值对的个数
    例如:d = {“name” : "钢铁侠“ , “age” : 39 , “gender” : “男”}
    print( len(d)) --> 3
  3. in :检查字典中是否含有指定的键
    例如:d = {“name” : "钢铁侠“ , “age” : 39 , “gender” : “男”}
    print(“name” in d) --> True
  4. not in :检查字典中不含指定的键
    例如:d = {“name” : "钢铁侠“ , “age” : 39 , “gender” : “男”}
    print(“name” not in d) --> False
  5. d.get(key,[default]):通过键获取对应的值,如果字典中没有该键,返回值为None,如果指定默认值[default],则返回默认值;
  6. d[key]=value,修改字典
    d = {“name” : "钢铁侠“ , “age” : 39 , “gender” : “男”}
    d[“name”]=“雷神” -->若key存在,则修改字典中的key-value
    d[“phone”] = “12345678” -->若key 不存在,则向字典中的添加key-value
    print(d) --> d = {“name” : "钢铁侠“ , “age” : 39 , “gender” : “男”,“phone”: “12345678”}
  7. d.setdefault(key,[value])
    d = {“name” : "钢铁侠“ , “age” : 39 , “gender” : “男”}
    d.setdefault(“name”,“雷神”)–> 当指定键存在,对字典没有影响,并返回该键在字典中的值
    print(d.setdefault(“phone” ,“12345678” ) --> "12345678“ --> 当指定键不存在,则将该键和值添加在字典的最后
    print(d) --> d = {“name” : "钢铁侠“ , “age” : 39 , “gender” : “男”,“phone”: “12345678”}
  8. d.update():将其他字典中的key-value添加到当前的字典当中
  9. del 删除字典中的key-value键值对
    d = {“name” : "钢铁侠“ , “age” : 39 , “gender” : “男”}
    del d[“name”] --> d = {“age” : 39 , “gender” : “男”}
  10. d.popitem():随机删除字典中的键值对,一般删除字典中的最后一对;它会将删除的键值对作为返回值,返回的是一个元组,元组有2个元素,第一个元素是删除的键,第二个元素是删除的值;
  11. d.pop(key,[default]):通过键删除指定的键值对,并返回删除的值,也可以添加默认值,若删除的键不存在,则返回默认值;
  12. d.clear()是用来清空字典。

2.3 浅复制

  1. 语法:d.copy()
  2. 用于对字典进行一个浅复制
  3. 复制以后的对象,和原对象是独立的,修改一个不会影响另一个,浅复制只会复制字典的本身,如果字典中还有字典,是不会被复制的。

2.4 遍历字典

  1. d.keys():该方法返回的是一个序列,保存的是字典中所有的键;
  2. d.values():该方法返回的是一个序列,保存的是字典中所有的值;
  3. ditems():该方法返回的是一个序列,保存的是字典中所有的项;
  4. 通过for循环进行遍历

3. 集合

3.1 集合的概念

  1. 集合 set()
  2. 集合和序列非常相似
  3. 集合和序列的不同点
    集合中只能存储不可变对象
    集合中的元素是无序的
    集合中的元素是不可重复的
  4. 可以通过set()函数将序列转化为集合
  5. 集合不能通过索引获得对应的元素

3.2 集合的使用

  1. in 和 not in
    in :判断对象是否在集合当中
    not in :判断对象不在集合当中
  2. len()
    计算集合的长度,里面对象的个数
  3. s.add()
    在集合中增加一个对象
  4. s.update()
    s1.update(s2):用集合s2更新集合s1
  5. s.remove()
    移除集合中某个对象
  6. s.pop()
    随机删除集合中某个对象,并返回删除值
  7. s.clear()
    清空集合

3.3 集合的运算

  1. 交集运算 & :求两个集合的交集;
  2. 并集运算 | :求两个集合的并集;
  3. 差集运算 - :求两个集合的差集;
  4. 异或集运算 ^ :求两个集合的异或集;
  5. s1 <= s2 :判断s1是否为s2的子集;
  6. s1 < s2 :判断s1是否为s2的真子集;
  7. s1 >= s2 :判断s1是否为s2的超集;
  8. s1 > s2 :判断s1是否为s2的真超集;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值