Python教程

python数据类型互相转换

本文主要是介绍python数据类型互相转换,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

一、列表转换成其他类型

# 1.1列表转换字符串

lst1 = ['a', 'b', 'c']
str1 = ''.join(lst1)
print('列表转换为字符串:', str1)

输出:

列表转换为字符串: abc

 

# 1.2列表转换字符串

str2 = ''
for i in lst1:
    str2 = str2+i
print('遍历列表转换成字符串:', str2)

输出:

遍历列表转换成字符串: abc

# 1.3一个列表转换字典

lst3 = ['x', 'y', 'z', 'r']
dict1 = {}
for i in range(0, len(lst3), 2):
    dict1[lst3[i]] = lst3[i+1]
print('1.3一个列表转换字典:', dict1)

输出:

1.3一个列表转换字典: {'x': 'y', 'z': 'r'}

# 1.4两个列表转换字典

lst2 = ['n', 'm', 'l']
lst3 = ['x', 'y', 'z', 'r']
dict2 = {}
for i in range(0, len(lst3), 2):
    dict2[lst2[i]] = lst3[i]
print('1.4两个列表转换字典:', dict2)

输出:

1.4两个列表转换字典: {'n': 'x', 'l': 'z'}

# 1.5列表通过zip函数转换字典

lst4 = [1, 2, 3, 4, 5]
print('1.5列表2个通过zip函数转换字典:', dict(zip(lst2, lst3)))
print('1.5列表3个通过zip函数转换字典:', dict(zip(zip(lst2, lst3), lst4)))

输出:

1.5列表2个通过zip函数转换字典: {'n': 'x', 'm': 'y', 'l': 'z'}
1.5列表3个通过zip函数转换字典: {('n', 'x'): 1, ('m', 'y'): 2, ('l', 'z'): 3}

# 1.6嵌套列表转换字典

lst4 = [['a', 1], ['b', 2], ['c', 3]]
print('1.6嵌套列表转换字典:', dict(lst4))

输出:

1.6嵌套列表转换字典: {'a': 1, 'b': 2, 'c': 3}

# 1.7列表转换字典

lst5 = ['a', 'b', 'c', 'd']
dict3 = {}
for index, item in enumerate(lst5):
    if index % 2 == 0:
        dict3[item] = lst5[index+1]
print('1.7列表转换字典:', dict3)

输出:

1.7列表转换字典: {'a': 'b', 'c': 'd'}

# 1.8列表通过set()函数转换成集合

lst5 = ['a', 'b', 'c', 'd']
print('1.8列表通过set()函数转换成集合', set(lst5))

输出:

1.8列表通过set()函数转换成集合 {'d', 'a', 'c', 'b'}

 

二、字符串转换成其他类型

# 2.1字符串通过list()函数转换列表

str3 = 'abc123'
print('2.1字符串通过list()函数转换列表:', list(str3))

输出:

2.1字符串通过list()函数转换列表: ['a', 'b', 'c', '1', '2', '3']

# 2.2通过eval()函数将字符串转换成列表(不建议使用该函数)

str4 = "['a', 'b', '1', 2, 3]"
lst5 = eval(str4)
print('2.2通过eval()函数将字符串转换成列表:', lst5)

输出:

2.2通过eval()函数将字符串转换成列表: ['a', 'b', '1', 2, 3]

# 2.3字符串切割成列表

str5 = 'abc123'
lst6 = str5.split()
print('2.3字符串切割成列表:', lst6)

输出:

2.3字符串切割成列表: ['abc123']

# 2.4字符串遍历转换成列表

str6 = 'abc'
lst7 = []
for i in str6:
    lst7.append(i)
print('2.4字符串遍历转换成列表:', lst7)

输出:

2.4字符串遍历转换成列表: ['a', 'b', 'c']

# 2.5字符串通过eval()函数转换成字典(不建议使用该函数)

str7 = '{"a":1, "b":2}'
print('2.5字符串通过eval()函数转换成字典:', eval(str7))

输出:

2.5字符串通过eval()函数转换成字典: {'a': 1, 'b': 2}

# 2.6字符串通过导入ast包转换成字典。(推荐使用)
# literal_eval()会判断需要计算的内容计算后是不是合法的Python类型,如果是则进行运算,否则不进行运算。
# 是针对eval()函数存在的安全漏洞提出的一种安全处理

print('2.6字符串通过导入ast包转换成字典:', ast.literal_eval(str7))

输出:
2.6字符串通过导入ast包转换成字典: {'a': 1, 'b': 2}

# 2.7字符串通过导入json包转换成字典。注意:此时字符串里面必须都是双引号,否则会报错

print('2.7字符串通过导入json包转换成字典:', json.loads(str7))

输出:
2.7字符串通过导入json包转换成字典: {'a': 1, 'b': 2}

 

三、字典操作

# 3.1字典通过导入json包转换字符串

dict2 = {"a": 1, "b": 2}
print('3.1字典通过导入json包转换字符串:', json.dumps(dict2))

输出:
3.1字典通过导入json包转换字符串: {"a": 1, "b": 2}

# 3.2字典强转换字符串

print('3.2字典强转换字符串:', str(dict2))

输出:
3.2字典强转换字符串: {'a': 1, 'b': 2}

# 3.3字典的键和值转换列表

print('3.3字典的键强转换列表:', list(dict2.keys()))
print('3.3字典的值强转换列表:', list(dict2.values()))

输出:
3.3字典的键强转换列表: ['a', 'b']
3.3字典的值强转换列表: [1, 2]

# 3.4字典转换列表

lst8 = []
for i in dict2.items():
    lst8.append(i)
print('3.4字典转换列表:', lst8)

输出:
3.4字典转换列表: [('a', 1), ('b', 2)]

# 3.5字典转换列表

lst8 = []
for i in dict2.keys():
    lst8.append(i)
    lst8.append(dict2[i])
print('3.5字典转换列表:', lst8)

输出:
3.5字典转换列表: ['a', 1, 'b', 2]

# 3.6字典转换列表

lst9 = []
for k, v in dict2.items():
    ii = [k, v]
    lst9.append(ii)
print('3.6字典转换列表:', lst9)

输出:
3.6字典转换列表: [['a', 1], ['b', 2]]

# 3.7字典的键和值转换集合

print('3.7字典的键强转换集合:', set(dict2.keys()))
print('3.7字典的值强转换集合:', set(dict2.values()))

输出:
3.7字典的键强转换集合: {'a', 'b'}
3.7字典的值强转换集合: {1, 2}

 

这篇关于python数据类型互相转换的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!