极客时间-Go进阶训练营|全新升级第4期sag

174 阅读2分钟

download:极客时间-Go进阶训练营|全新升级第4期

python字符串/元组/列表/字典互转

#-*-coding:utf-8-*- 
#1、字典
dict = {'name': 'Zara', 'age': 7, 'class': 'First'}
#字典转为字符串,返回:<type 'str'> {'age': 7, 'name': 'Zara', 'class': 'First'}
print type(str(dict)), str(dict)
#字典能够转为元组,返回:('age', 'name', 'class')
print tuple(dict)
#字典能够转为元组,返回:(7, 'Zara', 'First')
print tuple(dict.values())
#字典转为列表,返回:['age', 'name', 'class']
print list(dict)
#字典转为列表
print dict.values
#2、元组
tup=(1, 2, 3, 4, 5)
#元组转为字符串,返回:(1, 2, 3, 4, 5)
print tup.__str__()
#元组转为列表,返回:[1, 2, 3, 4, 5]
print list(tup)
#元组不能够转为字典
#3、列表
nums=[1, 3, 5, 7, 8, 13, 20];
#列表转为字符串,返回:[1, 3, 5, 7, 8, 13, 20]
print str(nums)
#列表转为元组,返回:(1, 3, 5, 7, 8, 13, 20)
print tuple(nums)
#列表不能够转为字典
#4、字符串
#字符串转为元组,返回:(1, 2, 3)
print tuple(eval("(1,2,3)"))
#字符串转为列表,返回:[1, 2, 3]
print list(eval("(1,2,3)"))
#字符串转为字典,返回:<type 'dict'>
print type(eval("{'name':'ljq', 'age':24}"))

在学习 python 中列表、元组、集合、字典的时候,总结了各种对象之间的转换方法,主要参考了Python 列表、元组、集合、字典的区别和相互转换这篇文章,具体的代码示例可以参考这篇文章中的内容,自己敲一遍印象会十分深刻,本文就不浪费笔墨了,转换方法总结如下:

转换成列表:list()转换成元组:tuple(),zip()转换成集合:set()转换成字典:dict()字符串5.1 转换成字符串:join()5.2 强大的字符串表达式函数:eval()

其中list()、tuple()、set()、dict()以及join()的用法都很常见,zip()和eval()的用法算是另辟蹊径了,可以参考下面的文章:zip()的使用,eval()的妙用和滥用

以上对象中,列表和字符串就像万能的粘合剂,可以充当许多转换的中间媒介。

在自己动手写代码练习的过程中,还发现了很多有趣的用法,比如以下字典转换成元组,tuple()和zip()得到了两种不同的结果,可以满足不同的业务需求:dict_test = {'a':1, 'b':0, 'c':2, 'd':4} print(tuple(dict_test.keys())) # 得到 ('a', 'b', 'c', 'd') zipped2 = zip(list(dict_test.keys()), list(dict_test.values())) for t2 in zipped2: print(t2) # 得到的结果: # ('a', 1) # ('b', 0) # ('c', 2) # ('d', 4)