【八】列表、字典、集合、元組間的數據類型轉換總結


一:列表:list[]

  • In [125]: a=[]
    #新增方法1
    In [126]: a.append("hello")
    In [127]: a
    Out[127]: ['hello']
    #新增方法2
    In [128]: a.insert(0,"huahua")
    In [129]: a
    Out[129]: ['huahua', 'hello']
  • In [131]: a
    Out[131]: ['huahua', 'hello']
    #刪除方法1
    In [132]: a.pop(0)
    Out[132]: 'huahua'
    In [133]: a
    Out[133]: ['hello']
    #刪除方法2
    In [136]: a.remove("hello")
    In [137]: a
    Out[137]: []
    #刪除方法3
    In [138]: a.clear()
    In [139]: a
    Out[139]: []
  • 其他方法,index、sort
    In [145]: a
    Out[145]: ['huahua', 'hello']
    #查看huahua這個字符串的角標
    In [146]: a.index("huahua")
    Out[146]: 0
    #給a排序
    In [147]: a.sort()
    In [148]: a
    Out[148]: ['hello', 'huahua'

二:字典:dict{key:value}

  • In [77]: d={}
    #新增方法1
    In [78]: d["l1"]=1
    In [79]: d
    Out[79]: {'l1': 1}
    #新增方法2
    In [81]: d.update({"13":333})
    In [82]: d
    Out[82]: {'13': 333, 'l1': 1}
    #新增方法3
    #coding=utf-8
    d={"l1":1,"l2":2}
    print(d)
    #往d插入一組數據
    d1=d.setdefault("l3",3)
    print(d1)
    #d1返回的結果為value值
    print(d)
    d2=d.setdefault("l3",66)
    #l3已存在,返回已存在key的value值
    print(d2)

    #打印結果:

    {'l2': 2, 'l1': 1}
    3
    {'l2': 2, 'l3': 3, 'l1': 1}
    3

  • In [85]: d
    Out[85]: {'13': 333, 'l1': 1}
    #刪除方法1
    In [86]: del d["l1"]
    In [92]: d
    Out[92]: {'1': 2, '11': 22}
    #刪除方法3
    In [98]: d.pop("1")
    Out[98]: 2
    In [99]: d
    Out[99]: {'11': 22}
  • 其他方法,keys、values、items
    In [100]: d={"l1":1,"l2":2}
    In [101]: d.values()
    Out[101]: dict_values([1, 2])
    In [102]: d.keys()
    Out[102]: dict_keys(['l1', 'l2'])
    In [103]: d.items()
    Out[103]: dict_items([('l1', 1), ('l2', 2)])
    In [104]: for k,v in d.items():
         ...:     print(k,v)
         ...:     
    l1 1
    l2 

三:集合:set{}

  • In [166]: a={1,2,3,4,5}
    #新增方法1
    In [167]: a.add(6)
    In [168]: a
    Out[168]: {1, 2, 3, 4, 5, 6}
  • In [168]: a
    Out[168]: {1, 2, 3, 4, 5, 6}
    #刪除方法1
    In [169]: a.pop()
    Out[169]: 1
    In [170]: a
    Out[170]: {2, 3, 4, 5, 6}
    #刪除方法2
    In [172]: a.remove(2)
    In [173]: a
    Out[173]: {3, 4, 5, 6}
    #刪除方法3
    In [175]: a.clear()
    In [176]: a
    Out[176]: set()
  • 其他方法,update
    In [180]: a
    Out[180]: {1}
    #將傳入的元素拆分,做為個體傳入到集合中
    #不能傳入int值
    In [182]: a.update(111)
    ---------------------------------------------------------------------------
    TypeError                                 Traceback (most recent call last)
    <ipython-input-182-7c012df56cc5> in <module>()
    ----> 1 a.update(111)
    
    TypeError: 'int' object is not iterable
    #將傳入的元素拆分,做為個體傳入到集合中
    In [183]: a.update("111")
    In [184]: a
    Out[184]: {1, '1'}

四:元組:tuple( )

  • 其他方法
    In [200]: test=("1",2,3)
    #查詢3在該元組的角標是多少
    In [201]: test.index(3)
    Out[201]: 2
    #查詢2在該元組一共有多少個
    In [202]: test.count(2)
    Out[202]: 1 

1.將str轉換成各個類型

In [19]: test="123"
#查看test的類型
In [20]: type(test)
Out[20]: str
#將字符串轉換成list
In [21]: list(test)
Out[21]: ['1', '2', '3']
#將字符串轉換成set
In [22]: set(test)
Out[22]: {'1', '2', '3'}
#將str轉換成tuple
In [23]: tuple(test)
Out[23]: ('1', '2', '3')
#無法將字符串轉換成dict
In [24]: dict(test)
---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
<ipython-input-24-7b6401465808> in <module>()
----> 1 dict(test)

ValueError: dictionary update sequence element #0 has length 1; 2 is required

2.列表與字典的轉換

In [38]: lol=[["a","b"],["c","d"]]
#lol的類型
In [39]: type(lol)
Out[39]: list
#雙列表轉換成dict
In [40]: dict(lol)
Out[40]: {'a': 'b', 'c': 'd'}
#列表里夾雜元組
In [41]: asd=[("aa","bb")]
#asd的類型
In [42]: type(asd)
Out[42]: list
#將list轉換成字典
In [43]: dict(asd)
Out[43]: {'aa': 'bb'}
#字典
In [44]: qwe={"aa":"bb"}
#類型
In [45]: type(qwe)
Out[45]: dict
#將dict轉換成list。注意:只取到key
In [47]: list(qwe)
Out[47]: ['aa']

3.使用zip將2個變量組合成一個集合、字典、列表、元組

In [48]: num=[1,2,3]
In [49]: englist=["one","two","three"]
#將2個組合成一個list
In [50]: list(zip(num,englist))
Out[50]: [(1, 'one'), (2, 'two'), (3, 'three')]
#將2個組合成一個dict
In [51]: dict(zip(num,englist))
Out[51]: {1: 'one', 2: 'two', 3: 'three'}
#將2個組合成一個set
In [52]: set(zip(num,englist))
Out[52]: {(1, 'one'), (2, 'two'), (3, 'three')}
#將2個組合成一個ltuple
In [53]: tuple(zip(num,englist))
Out[53]: ((1, 'one'), (2, 'two'), (3, 'three'))

4.將列表或元組轉換成字典。注意:里面的每一個字符串只能由2個字符組成

#一個key與value成對的列表
In [68]: los=['as','zc']
#轉換為字典
In [69]: dict(los)
Out[69]: {'a': 's', 'z': 'c'}
#一個元組
In [70]: los=("az","ww")
#轉換為字典
In [71]: dict(los)
Out[71]: {'a': 'z', 'w': 'w'}

 總體總結:

  1. 列表、字典、集合都具有增刪功能
  2. 列表為append,字典為update,集合為add
  3. 列表、字典、集合都具有pop()的方法
  4. 列表和集合具有remove()的方法


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM