python列表,元组,集合,字典之间互相转换
本文着重介绍python 列表(list),元组(tuple),集合(set),字典(dict)四种类型之间的相互转换,转换成python列表需要使用list函数,转成元组需要使用tuple函数,转成集合需要使用set函数,转成字典需要使用dict函数
1. 内置函数list
内置函数list可以将字符串,集合,元组转换为列表
a = 'python' # 字符串
b = {1, 2, 3} # 集合
c = (1, 2, 3) # 元组
print(list(a))
print(list(b))
print(list(c))
输出结果是
['p', 'y', 't', 'h', 'o', 'n']
[1, 2, 3]
[1, 2, 3]
list函数能否将字典转换成列表呢,这个需要探索一下
print(list({'a': 3, 'b': 5}))
输出结果为
['a', 'b']
使用list函数转换字典,得到的是字典里所有的key,并没有获得value
2. 内置函数set
set函数可以将字符串,列表转换成集合
a = 'python' # 字符串
b = [1, 2, 1, 2] # 列表
c = {'a': 1, 'b': 2} # 字典
d = (1, 2, 3, 4) # 元组
print(set(a))
print(set(b))
print(set(c))
print(set(d))
程序输出结果
{'t', 'o', 'n', 'p', 'h', 'y'}
{1, 2}
{'b', 'a'}
{1, 2, 3, 4}
尝试转换字典时,只能获得由字典的key组成的集合
3. 内置函数tuple
a = 'python' # 字符串
b = [1, 2, 1, 2] # 列表
c = {'a': 1, 'b': 2} # 字典
d = {1, 2, 3, 4} # 集合
print(tuple(a))
print(tuple(b))
print(tuple(c))
print(tuple(d))
程序输出结果
('p', 'y', 't', 'h', 'o', 'n')
(1, 2, 1, 2)
('a', 'b')
(1, 2, 3, 4)
尝试将字典转换为元组时,只能得到由字典的key组成的元组,看来字典有些特殊
4. 内置函数dict
无法直接使用dict函数将列表,元组,集合转换成字典,这是由字典的结构决定的,字典里的元素永远以key-value对的形式存在,key-value是一个映射关系,知道key,便可以获得value,而其他3种容器类型数据不存在映射关系,因此无法转换。
dict函数有自己特殊的使用方法
my_dict = dict(a=1, b=2)
print(my_dict)
程序输出结果
{'a': 1, 'b': 2}