zoukankan      html  css  js  c++  java
  • python 数据类型Ⅳ(集合)

     

    内容补充:

    • 列表功能:

      • .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

    • 嵌套的应用: (*)

      • 赋值

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

     

  • 相关阅读:
    5
    4
    2
    3
    1
    IOS js交互
    vm安装mac
    索引
    ORM 基础
    reids 日志no
  • 原文地址:https://www.cnblogs.com/bigox/p/10649523.html
Copyright © 2011-2022 走看看