Day06 元组,字典,集合

1.元组及其内置方法:

  1. 定义:tuple(),用小括号()存放多个元素,每个元素中间用逗号隔开,在元组只有1个元素时,需要加逗号,如:t = (1,)    用tuple()方法定义时括号里面必须是可迭代对象
  2. 作用:存储多个元素,这些元素不需要改动
  3. 类型:不可变类型,有序
  4. 方法:len() count()  index()切片,按索引取值,循环
  5. 注意:当元组中存在列表元素时,这个列表里面的元素时可以修改的
    t = (1, 2, 3, [4,5,6])
    t[3].append((90))  # (1, 2, 3, [4, 5, 6, 90])
    print(t)

     

2.字典及其内置方法

  1. 定义:dict(),用{} 来存放多个键值对(key:value的格式).每个元素中间用逗号隔开,key必须为不可变类型,value可以是任意类型

  2. 作用:存放多个值,每个值都都有对应的key来描述value的信息
  3. 类型:可变类型,无序
  4. 取用:通过key来取value
    dic = {'name': 'yanglingyao', 'age':18, 'hobby': 'play'}
    print(dic['name'])   # 取出key为'name'的值

     

  5. 方法:
  • len() 获取键值对的个数
  • 循环遍历:
    dic = {'name': 'yanglingyao', 'age':18, 'hobby': 'play'}
    for k,y in dic.items():  # 循环遍历dic中的键值对
        print(k,y,end=' ')  # name yanglingyao age 18 hobby play 
  • keys() 获取字典中所有key
  • values() 获取字典中所有的value
  • items() 获取字典中所有的键值对

  6.增:

dic = {'name': 'yanglingyao', 'age':18, 'hobby': 'play'}
dic['qq'] = 123  # 若key存在则修改。若不存在则添加
print(dic)

  

dic = {'name': 'yanglingyao', 'age':18, 'hobby': 'play'}
dic.setdefault('sex','')  # 若key不存在则添加这个键值对
e = dic.setdefault('name',123)  # 若key存在则返回原值,有返回值,不对原字典作修改
print(e)    # yanglingyao
print(dic)  # {'name': 'yanglingyao', 'age': 18, 'hobby': 'play', 'sex': '男'}

 

 

  7.删:

dic = {'name': 'yanglingyao', 'age':18, 'hobby': 'play'}
del dic['name']
print(dic)   # {'age': 18, 'hobby': 'play'}   无返回值
dic = {'name': 'yanglingyao', 'age':18, 'hobby': 'play'}
ele = dic.pop('name')     # 根据指定key弹出键值对
print(ele)  # yanglingyao  # 有返回值,返回的是key的值,
print(dic)   # {'age': 18, 'hobby': 'play'}

 

dic = {'name': 'yanglingyao', 'age':18, 'hobby': 'play'}
ele = dic.popitem()     # 随机弹出一个键值对
print(ele)  
print(dic)   
dic = {'name': 'yanglingyao', 'age':18, 'hobby': 'play'}
dic.clear()    # 清空字典

print(dic)  # {}

 

  8.改:

dic = {'name': 'yanglingyao', 'age':18, 'hobby': 'play'}
dic['name'] = 123  # 无则添加有则修改
print(dic)  # {'name': 123, 'age': 18, 'hobby': 'play'}

  9.查:

dic = {'name': 'yanglingyao', 'age':18, 'hobby': 'play'}
print(dic['name'])   # 通过key查找
print(dic['qq'])  # 若key不存在则报错
dic = {'name': 'yanglingyao', 'age':18, 'hobby': 'play'}
print(dic.get('name'))   # 若找到返回key对应的值
print(dic.get('qq','找不到'))  # 若找不到返回你想要的提示信息,默认为None

  10.fromkeys()

dic = {'name': 'yanglingyao', 'age':18, 'hobby': 'play'}
l = [1, 2, 3, 4]
d1 = dict.fromkeys(l,'hello')  # 以一个可迭代对象里的元素为key生成一个新的字典,可指定key的值,若不传参则返回None,
# 注意指定值的时候,所有key的值都是同一内存地址,若是列表则一个改动都改动
print(d1)  # {1: 'hello', 2: 'hello', 3: 'hello', 4: 'hello'}

 

3.集合及其内置方法

  1. 定义:在{}内存放多个值,用逗号隔开  set()

  2. 作用:去重,关系运算
  3. 特性: 1.每个值都是不可变的。2.元素不能重复  
  4. 无序,可变类型
  5. 差集
    s = {1, 2, 3, 4, 5}
    s1 = {4, 5, 6, 7, 8}
    s2 = s - s1
    print(s2)   # {1, 2, 3} 差集: 减去公共所有的

    6.并集

    s = {1, 2, 3, 4, 5}
    s1 = {4, 5, 6, 7, 8}
    s2 = s | s1
    print(s2)   # {1, 2, 3, 4, 5, 6, 7, 8}   并集。两个集合去重合并

    7.交集

    s = {1, 2, 3, 4, 5}
    s1 = {4, 5, 6, 7, 8}
    s2 = s & s1
    print(s2)   # {4, 5}  交集:公共所有的

    8. 对称差集

    s = {1, 2, 3, 4, 5}
    s1 = {4, 5, 6, 7, 8}
    s2 = s ^ s1
    print(s2)   # {1, 2, 3, 6, 7, 8}  对称差集:去除共有的

     

posted @ 2019-07-04 21:47  人生能有几回搏  阅读(132)  评论(0编辑  收藏  举报