Python中列表、元祖,字符串、字典,集合之间转换

1.列表的转换

  • list——>str

    要求list里面的元素是字符串,如果是整数,则不行

list1 = ['1','2','3','4','a']
''.join(list1)
' '.join(list1)
'!'.join(list1)
  • list—–>tuple
    对于列表内的元素没有特殊要求,迭代器,这两个之间可以互相转换
 list1 = ['1','2','3','4','a',(1,2,3)]
 tuple(list1)
  • list——>dict
    dict()里面要求的是映射关系,所以需要用zip把他们建立映射关系,再去转换
list1 = ['1','2','3','4','a',(1,2,3)]
list2 = ['a','b','c','d','e','f']
dict1 = dict(zip(list1,list2))

运行结果:

{'1': 'a', '2': 'b', '3': 'c', '4': 'd', '5': 'e', (1, 2, 3): 'f'}
  • list——->set
    根据结合的要求,会把list中的相同元素去重。
list1 = ['1','2','3','3']
set(list1)

运行结果:

{'1', '2', '3'}

2.元祖的转换

  • tuple——->list
    迭代器,这两个之间可以互相转换
tuple1 = (1,2,3,4,5,'2','a')
list(tuple1)

运行结果:

[1, 2, 3, 4, 5, '2', 'a']
  • tuple——–>str

tuple和list函数要想转换成字符串,必须依靠 ’ ‘.join(tuple/list)来实现,要字符串型的要求

tuple1 = ('1','2','3','4','5','2','a') 
''.join(tuple1) 
  • tuple——>dict
    也是通过zip实现map映射的
tuple1 = ('1','2','3','4') 
tuple2= ('a',,'b','c','d')
dict1 = dict(zip(tuple1,tuple2))
  • tuple——>set
tuple1 = ('1','2','3','4') 
set(tuple1)

3.字符串的转换
- str——->list
字符串转换成list 的时候,str可以作为迭代对象,直接放入;也可以使用split对字符串进行切割。然后返回list中去。

s ='a1b1c1'
list(s)  
s.split('1')
['a', '1', 'b', '1', 'c', '1']
['a', 'b', 'c', '']
  • str——->tuple

这里面没有split这个函数,因为split后会形成list

s ='a1b1c1'
tuple(s)

运行结果:

('a', '1', 'b', '1', 'c', '1')
  • str——->dict
    其核心还是利用map建立映射关系
s ='a1b1c1'
b = '123456'
dict(zip(s,b))

运行结果:

 {'a': '1', '1': '6', 'b': '3', 'c': '5'}
  • str——>set
    还是注意set会去重,并且set里面是可迭代的对象即可
set('abca')

运行结果

 {'a', 'b', 'c'}

4.字典的转换
- dict——->list/tuple/set
字典可以使用 dict.keys() 和dict.values()返回迭代器,通过list和tuple直接生成列表和元祖

dict1 = {1:'a',2:'b',3:'c'}
list(dict1.keys())
list(dict1.values())
tuple(dict1.keys())
tuple(dict1.values())
set(dict1.keys())
set(dict1.values())
tuple(dict1.items())  #生成元祖为单位的元祖
list(dict1.items())  #生成元祖为单位的列表
set(dict1.items())   #生成元祖为单位的集合
  • dict——>str
    对于生成字符串,需要先生成list和tuple,然后再由list和tuple生成str

5.集合的转换
- set——list/tuple

set1 = {1,2,3,4,5,6}
list(set1)
tuple(set1)
  • set——->str
    个人认为这时候,会先变成list/tuple后,然后再变成str

  • set——->dict
    虽然说可以实现,但是意义不太大,因为set是无序的。这种映射没有意义

dict(zip(set1,set2))

未完待续 。。。。。。。(稍后修改)

  • 16
    点赞
  • 55
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值