溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

python數(shù)據(jù)類型(四)集合

發(fā)布時間:2020-04-14 23:52:26 來源:網(wǎng)絡 閱讀:281 作者:小飛額 欄目:編程語言

python數(shù)據(jù)類型(四)集合

回顧

  • 字符串所調(diào)用的功能都會生成一個新的東西
  • 列表的獨有功能要記住

補充

  • 列表功能:

    • .reverse 反轉(zhuǎn)
    info = ["1","2","3"]
    info.reverse()
    print(info)                         輸出結(jié)果,3 2 1
    • .sort() 排序
    info = ["1","2","3"]
    info.sort(reverse=False)
    print(info)                          輸出結(jié)果,1.2.3
  • 字典

    • none是python里面的空

    • .get[“k1”] 取值判斷是否存在,存在輸出,不存在返回none
    info = {"1":"2","3":"4"}
    print(info.get("k12211"))                 輸出none
    print(info.get("k111111"),666)           輸出none 666
    • .pop 刪除
    info = {"1":"2","3":"4"}
    resu = info.pop("1")
    print(resu)
    print(info)
    • .update() 不存在就添加,存在就覆蓋

    • 判斷字符,是否在列表里面用in,元組也可以,字典中默認是按照鍵是否存在,判斷值需要循環(huán)判斷(用.values),也可以強制轉(zhuǎn)換成列表
    實際操作題
    要求,判斷用戶輸入字符串中是否有列表中的元素,如果有輸出對不起
    方式一:
    info = ["1","2","3",]
    c = input("請輸入:")
    for i in info:
        if i in c :
            print("對不起")
            break
    方式二:
    info = ["1","2","3",]
    c = input("請輸入:")
    s = True
    for i in info:
        if i in c :
            s = False
            break
    if s == True:
        print("成功")
    else:
        print("對不起")

一,集合

  • 集合是無序的不可重復的列表

    v = {1,2,3,34,45,}            集合的格式
    #v = {}                       是空字典
    #v = set()                   是空集合 

1.獨有功能

  • .add 添加

    v = {1,2,3,4,5,}
    v.add(6)
    print(v)
  • .discard() 刪除

    v = {1,2,3,4,5,}
    v.discard(2)
    print(v)
  • .pop() 隨機刪除一個

    v = {1,2,3,4,5,}
    v.pop
    print(v)
  • .update() 批量添加

    v = {1,2,3,4,5,}
    v.update(11,22,33,)
    print(v)
  • v = {1,2,3,4,5,}
    d = v.intersection({2,3,4,})             交集
    print(d)
  • v = {1,2,3,4,5,}
    d = v.union({2,3,4,})                     并集
    print(d)
  • v = {1,2,3,4,5,}
    d = v.difference({2,3,4,})               差集
    print(d)

2.公用功能

  • len
  • for循環(huán)

3.嵌套

  • 字典,列表,集合,等可變值(可哈希)不可以在集合內(nèi),不可以做字典的k

    哈希是怎么回事?
    • 因為在內(nèi)部會將值進行哈希算法并得到一個數(shù)值(對應內(nèi)存地址),以后用于快速查找。

二,內(nèi)存相關

2. 內(nèi)存相關

  • 示例一

    v1 = [11,22,33]
    v2 = [11,22,33]
    
    v1 = 666
    v2 = 666
    
    v1 = "asdf"
    v2 = "asdf"
    
    # 按理 v1 和 v2 應該是不同的內(nèi)存地址。特殊:
    1. 整型:  -5 ~ 256 
    2. 字符串:"alex",'asfasd asdf asdf d_asdf '       ----"f_*" * 3  - 重新開辟內(nèi)存。
  • 示例二:

    v1 = [11,22,33,44]
    v1 = [11,22,33]
  • 示例三:

    v1 = [11,22,33]
    v2 = v1 
    
    # 練習1 (內(nèi)部修改)
    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)
  • 示例四

    v = [1,2,3]
    values = [11,22,v]
    
    # 練習1:
    """
    v.append(9)
    print(values) # [11,22,[1,2,3,9]]
    """
    # 練習2:
    """
    values[2].append(999)
    print(v) # [1, 2, 3, 999]
    """
    # 練習3:
    """
    v = 999
    print(values) # [11, 22, [1, 2, 3]]
    """
    # 練習4:
    values[2] = 666
    print(v) # [1, 2, 3]
  • 示例五

    v1 = [1,2]
    v2 = [2,3]
    
    v3 = [11,22,v1,v2,v1]
    
  • 更改內(nèi)存地址不變,重新賦值內(nèi)存地址變化

  • 查看內(nèi)存地址

    v1 = 234
    v2 = "eee"
    print(id(v1),id(v2))
  • python數(shù)據(jù)存儲機制:對于數(shù)字python認為-5到256,不會重新開辟新的內(nèi)存地址,常用字符串不會重新開辟,字符串里面包含了非字母數(shù)字下劃線會重新開辟。

  • “==”比較的是值,is比較的是地址
向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。

AI