列表字典集合元组间的数据类型转换总结

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了列表字典集合元组间的数据类型转换总结相关的知识,希望对你有一定的参考价值。

一:列表: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}
  • 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()的方法

以上是关于列表字典集合元组间的数据类型转换总结的主要内容,如果未能解决你的问题,请参考以下文章

详解Python数据类型:字符串列表元组字典集合

详解Python数据类型:字符串列表元组字典集合

详解Python数据类型:字符串列表元组字典集合

python 数据类型之列表元组字典集合

Python 基本类型:元组,列表,字典,字符串,集合 梳理总结

python数据类型基础总结(字符串 列表 元组 字典 集合 )