python学习day6 数据类型Ⅳ(集合)

时间:2022-06-25 13:23:55

内容补充:

  • 列表功能:

    • .reverse()反转

      v = [1,2,3,4,5,6]
      v.reverse()
      print() #[6, 5, 4, 3, 2, 1]
    • .sort()排序

      v = [1,3,7,4,5,6]
      v.sort()
      print() #[1, 3, 4, 5, 6, 7]
      #v.sort() 从小到大排序(默认)
      #v.sort(reverse=True) 从大到小排序
  • None就是空,什么都没有,输出为False.

  • 字典功能(重要):

    • .get()取值

      info = {'k1':'v1','k2':'v2'}
      a = info.get('k1')
      print(a) #v1
      info2 = ['11111']
      b = info.get('11111',22222)
      print(b) #22222
    • pop删除&del

    • update()更新_存在覆盖更新,不存在添加

      info = {'k1':'v1','k2':'v2'}
      info.update({'k1':'v0','k3':'v3'})
      print(info) #{'k1': 'v0', 'k2': 'v2', 'k3': 'v3'}
  • 判断字符串是否存在敏感字符

    • in/not in 是否包涵(输出类型为bool类型)

      str/list/tuple/dict都适用

      # # 经典例题 # #
      # 让用户输入任意字符串,然后判断此字符串是否包含指定的敏感字符。

      #char_list = ['利奇航','堂有光','炸展会']
      #content = input('请输入内容:') # 我叫利奇航 / 我是堂有光 / 我要炸展会

      char_list = ['利奇航','堂有光','炸展会']
      i = True
      content = input('请输入内容:')
      for mes in char_list:
         if mes in content:
        i = False
            break
      if i:
         print(无敏感字符)
      else:
         print(包含敏感字符)
         

1.集合set

  • 无序,不可重复

  • 空集合为False

  • 空字典{}

  • 空集合set()

    v = {1,2,3,4,5,6,99,100}

    # 疑问:v = {}
    """
    None
    int
      v1 = 123
      v1 = int() --> 0
    bool
      v2 = True/False
      v2 = bool() -> False
    str
      v3 = ""
      v3 = str()
    list
      v4 = []
      v4 = list()
    tuple
      v5 = ()
      v5 = tuple()
    dict
      v6 = {}
      v6 = dict()
    set
      v7 = set()
    """
  • 在字典中True与数字1重复,False与数字0重复

1.集合独有功能,

  • .add() 添加

  • .discard()删除

  • 要修改,需要先删除再添加

  • .clear()清空

  • .update()

    info = {'k1','k2'}
    info.update({'k1','k3','v3'})
    print(info) #{'k1','k2','k3','v3'}
  • .intersection() 交集

    命令后的 () 可以是集合,也可以是列表.

    info = {1,2,3}
    print(info.intersection({1,3,4})) #{1,3}
  • .union()并集

    info = {1,2,3}
    print(info.union({1,3,4})) #{1,2,3,4}
  • .difference()差集

    info = {1,2,3}
    print(info.union({1,3,4})) #{2,4}

2.公共功能

  • len()

  • for循环

3.嵌套

  • 列表, 字典和集合为可更改类型,不可哈希,不能存放在集合当中.

2.内存相关

  • id(查看内存地址)

  • 赋值更改内存地址,内部变更改变量的值

    v1 = [11,22,33]
    v2 = v1

    # 练习1 (内部修改)
    v1 = [11,22,33]
    v2 = v1
    v1.append(666)
    print(v2) # 含 666

    # 练习2:(赋值)
    v1 = [11,22,33]
    v2 = v1
    v1 = [1,2,3,4]
    print(v2)

    # 练习3:(重新赋值)
    v1 = 'alex'
    v2 = v1
    v1 = 'oldboy'
    print(v2)
  • 内存地址

    a = 1
    b = 1
    id(a) = id(b)
    #按理说a与b的id不该一样,但是在python中,为了提高运算性能,对某些特殊情况进行了缓存.(小数据池)缓存对象:
    1. 整型:  -5 ~ 256
    2. 字符串:"alex",'asfasd asdf asdf d_asdf '       ----"f_*" * 3  - 重新开辟内存。
  • == 与is 区别

    • ==比较的是值是否一致

    • is 比较内存地址是否一致

今日重点

  • 列表

    • reverse

    • sort

  • 字典

    • get (*)

    • update

  • 集合

    • add

    • discard

    • update

    • intersection (*)

    • union

    • difference

    • .....

  • 特殊:

    • 嵌套:集合/字典的key

    • 空:None

    • 空集合:...

  • id

  • type

  • 嵌套的应用: (*)

    • 赋值

    • 修改内部元素:列表/字典/集合