首页 > 代码库 > 【八】列表、字典、集合、元组间的数据类型转换总结
【八】列表、字典、集合、元组间的数据类型转换总结
一:列表:list[]
- 增
In [125]: a=[]#新增方法1In [126]: a.append("hello")In [127]: aOut[127]: [‘hello‘]#新增方法2In [128]: a.insert(0,"huahua")In [129]: aOut[129]: [‘huahua‘, ‘hello‘]
- 删
In [131]: aOut[131]: [‘huahua‘, ‘hello‘]#删除方法1In [132]: a.pop(0)Out[132]: ‘huahua‘In [133]: aOut[133]: [‘hello‘]#删除方法2In [136]: a.remove("hello")In [137]: aOut[137]: []#删除方法3In [138]: a.clear()In [139]: aOut[139]: []
- 其他方法,index、sort
In [145]: aOut[145]: [‘huahua‘, ‘hello‘]#查看huahua这个字符串的角标In [146]: a.index("huahua")Out[146]: 0#给a排序In [147]: a.sort()In [148]: aOut[148]: [‘hello‘, ‘huahua‘]
二:字典:dict{key:value}
- 增
In [77]: d={}#新增方法1In [78]: d["l1"]=1In [79]: dOut[79]: {‘l1‘: 1}#新增方法2In [81]: d.update({"13":333})In [82]: dOut[82]: {‘13‘: 333, ‘l1‘: 1}
- 删
In [85]: dOut[85]: {‘13‘: 333, ‘l1‘: 1}#删除方法1In [86]: del d["l1"]In [92]: dOut[92]: {‘1‘: 2, ‘11‘: 22}#删除方法3In [98]: d.pop("1")Out[98]: 2In [99]: dOut[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 1l2 2
三:集合:set{}
- 增
In [166]: a={1,2,3,4,5}#新增方法1In [167]: a.add(6)In [168]: aOut[168]: {1, 2, 3, 4, 5, 6}
- 删
In [168]: aOut[168]: {1, 2, 3, 4, 5, 6}#删除方法1In [169]: a.pop()Out[169]: 1In [170]: aOut[170]: {2, 3, 4, 5, 6}#删除方法2In [172]: a.remove(2)In [173]: aOut[173]: {3, 4, 5, 6}#删除方法3In [175]: a.clear()In [176]: aOut[176]: set()
- 其他方法,update
In [180]: aOut[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]: aOut[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#将字符串转换成listIn [21]: list(test)Out[21]: [‘1‘, ‘2‘, ‘3‘]#将字符串转换成setIn [22]: set(test)Out[22]: {‘1‘, ‘2‘, ‘3‘}#将str转换成tupleIn [23]: tuple(test)Out[23]: (‘1‘, ‘2‘, ‘3‘)#无法将字符串转换成dictIn [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#双列表转换成dictIn [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。注意:只取到keyIn [47]: list(qwe)Out[47]: [‘aa‘]
3.使用zip将2个变量组合成一个集合、字典、列表、元组
In [48]: num=[1,2,3]In [49]: englist=["one","two","three"]#将2个组合成一个listIn [50]: list(zip(num,englist))Out[50]: [(1, ‘one‘), (2, ‘two‘), (3, ‘three‘)]#将2个组合成一个dictIn [51]: dict(zip(num,englist))Out[51]: {1: ‘one‘, 2: ‘two‘, 3: ‘three‘}#将2个组合成一个setIn [52]: set(zip(num,englist))Out[52]: {(1, ‘one‘), (2, ‘two‘), (3, ‘three‘)}#将2个组合成一个ltupleIn [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‘}
总体总结:
- 列表、字典、集合都具有增删功能
- 列表为append,字典为update,集合为add
- 列表、字典、集合都具有pop()的方法
- 列表和集合具有remove()的方法
【八】列表、字典、集合、元组间的数据类型转换总结
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。