• 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}  对称差集:去除共有的
  • 相关阅读:
    leetcode -- Merge Two Sorted Lists
    leetcode -- Rotate List
    leetcode -- Merge Intervals
    leetcode -- Insert Interval
    Egret入门学习日记 --- 第八篇(书中 2.0~2.6节 内容)
    Egret入门学习日记 --- 第七篇(书中 3.9节 内容)
    Egret入门学习日记 --- 第五篇(书中 3.5节 内容)
    Egret入门学习日记 --- 第四篇(书中 3.1~3.3 内容)
    Egret入门学习日记 --- 第三篇 (书中 3.4 内容)
    Egret入门学习日记 --- 第二篇 (书籍的选择 && 书籍目录 && 书中 3.3 节 内容)
  • 原文地址:https://www.cnblogs.com/yanglingyao/p/11135126.html
Copyright © 2020-2023  润新知