Python 实现list,tuple,str和dict之间的相互转换
1、字典(dict)
dict={‘name':‘Zara',‘age':7,‘class':‘First'}
1.1字典——字符串
返回:
printtype(str(dict)),str(dict)
1.2字典——元组
返回:(‘age',‘name',‘class')
printtuple(dict)
1.3字典——元组
返回:(7,‘Zara',‘First')
printtuple(dict.values())
1.4字典——列表
返回:[‘age',‘name',‘class']
printlist(dict)
1.5字典——列表
printdict.values
2、元组
tup=(1,2,3,4,5)
2.1元组——字符串
返回:(1,2,3,4,5)
printtup.__str__()
2.2元组——列表
返回:[1,2,3,4,5]
printlist(tup)
2.3元组不可以转为字典
3、列表
nums=[1,3,5,7,8,13,20];
3.1列表——字符串
返回:[1,3,5,7,8,13,20]
printstr(nums)
3.2列表——元组
返回:(1,3,5,7,8,13,20)
printtuple(nums)
3.3列表不可以转为字典
4、字符串
4.1字符串——元组
返回:(1,2,3)
printtuple(eval("(1,2,3)"))
4.2字符串——列表
返回:[1,2,3]
printlist(eval("(1,2,3)"))
4.3字符串——字典
返回:
printtype(eval("{'name':'ljq','age':24}"))
补充:python入门之路:一个小错误,str变tuple
笔者在编程的时候发现,原先定义的str字符串在传递和引用的时候会莫名其妙改变类型,变成tuple。
importrandom classget_Veri(object): defrandom_color(self): random_color=(random.randint(0,255),random.randint(0,255),random.randint(0,255)) returnrandom_color defrandom_num(self): random_num=str(random.randint(0,9)) returnrandom_num defrandom_lowerchr(self): random_lowerchar=chr(random.randint(97,122)) returnrandom_lowerchar defrandom_upperchr(self): random_upperchr=chr(random.randint(65,90)) returnrandom_upperchr defrandom_char(self): random_char=random.choice([get_Veri.random_num(self),get_Veri.random_upperchr(self),get_Veri.random_lowerchr(self)]) print(random_char) print(type(random_char)) returnrandom_char
这里random_char函数输出一个随机字符串,可以看到type类型为:
在另一个文件中进行引用:
fromrandom_data.pyimportget_Veri get_veri=get_Veri() random_char=get_veri.random_char(), print(random_char) print(type(random_char))
发现random_char的type类型已经发生改变:
只是一个简单的赋值,为什么会发生改变?
原因是在赋值的时候多加了一个逗号。
这个逗号让编译器执行的时候理解为("str",)
以上为个人经验,希望能给大家一个参考,也希望大家多多支持毛票票。如有错误或未考虑完全的地方,望不吝赐教。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。