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}

扫描关注, 与我技术互动

QQ交流群: 211426309

加入知识星球, 每天收获更多精彩内容

分享日常研究的python技术和遇到的问题及解决方案