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后,然后再变成strset——->dict
虽然说可以实现,但是意义不太大,因为set是无序的。这种映射没有意义
dict(zip(set1,set2))
未完待续 。。。。。。。(稍后修改)