Python中字符串、元组、字典、列表之间的相互转化。
#coding=utf-8
#1. 字符串转换
s1 = "1,2,3"
#1.1 字符串转元组
t1 = tuple(eval(s1))
t2 = tuple(s1)
#eval()函数会将字符串转化为有效的表达式来运算,有两种常用的情况:一种是字符串转列表,字典,元组,这个适用于从json或API中获取数据为文本格式,通过eval可以方便转化为列表字典等;另一个是包含加减乘除运算的,会给出计算结果
print "1.1",t1,"--",t2
#1.2 字符串转列表
list1 = list(eval(s1))
print "1.2",list1
#1.3 字符串转字典
#转换时字符串必须是键值对的形式,且标点符号必须是英文,否则转化报错
dict1 = dict(eval("{'name':'zhangsan','age':22}"))
print "1.3",dict1
#2. 元组转换
#2.1 元组转字符串
t3 = (1,2,3)
print "2.1",type(str(t3)),"->",str(t3)
#2.2 元组转列表
print "2.2",list(t3)
#2.3 元组不能转字典
#3.列表转换
#3.1 列表转字符串
list2 = [1,2,3]
print "3.1",type(str(list2)),"->",str(list2)
#3.2 列表转元组
print "3.2",tuple(list2)
#3.3 列表不能转字典
#4.字典转换
#4.1 字典转字符串
dict2 = {"name":"张三","age":22}
print "4.1",type(str(dict2)),"->",str(dict2)
#4.2 字典转元组
print "4.2",tuple(dict2),"--",tuple(dict2.values())
#整个输出中文是乱码的,但是取中文数据时是正常的
#4.3 字典转列表
print "4.3",list(dict2),"--",list(dict2.values())[1]
运行结果: