python中str(字符串)、list(列表)、tuple(元组)、dict(字典)相互转化关系及字典键-值遍历

本文介绍如何在Python中将不同数据结构(如列表、元组、字典)相互转换的方法,并展示了具体的实现代码及其运行结果。
#!/usr/bin/env python
#coding=utf-8

def main():
	strs = "this is a cjh's str"
	lst = ['this', 'is', 'a', "cjh's", 'list']
	tpl = ('this', 'is', 'a', "cjh's", 'tuple')
	dct = {'name': 'cjh', 'age': '25', 'school': 'XDU'}

	print '>>>>>>>>>>>>>>>>Print Original Objects'
	print strs
	print lst
	print tpl
	print dct

	#转化为字符串
	print '>>>>>>>>>>>>>>>>List、Tuple、Dictionary into a Str'
	print ' '.join(lst)
	print ' '.join(tpl)
	print ' '.join(dct.iterkeys()),#print默认换行,加逗号可以不换行
	print ' '.join(dct.itervalues())

	print #空的print表示换行

	#转化为list
	print '>>>>>>>>>>>>>>>>Str、Tuple、Dictionary into a List'
	print list(strs)
	print list(tpl)
	print list(dct.iterkeys())
	print list(dct.itervalues())

	#转化为tuple
	print '>>>>>>>>>>>>>>>>Str、List、Dictionary into a Tuple'
	print tuple(strs)
	print tuple(lst)
	print tuple(dct.iterkeys())
	print tuple(dct.itervalues())

	#转化为dict
	print '>>>>>>>>>>>>>>>>Str into a Dictionary'
	#List、Tuple不能转化为Dictionary
	print eval("{'name':'cjh', 'age':25}")

	#字典的遍历
	print ">>>>>>>>>>>>>>>>Dictionary's Traversal" 
	#遍历键-值
	print ' '.join(('%s:%s' % (key, value)) for key,value in dct.iteritems())#速度最快

	#只遍历key
	print ' '.join(key for key in dct.iterkeys())

	#只遍历values
	print ' '.join(value for value in dct.itervalues())

if __name__ == '__main__':
	main()

运行结果:

>>>>>>>>>>>>>>>>Print Original Objects
this is a cjh's str
['this', 'is', 'a', "cjh's", 'list']
('this', 'is', 'a', "cjh's", 'tuple')
{'age': '25', 'name': 'cjh', 'school': 'XDU'}
>>>>>>>>>>>>>>>>List、Tuple、Dictionary into a Str
this is a cjh's list
this is a cjh's tuple
age name school 25 cjh XDU

>>>>>>>>>>>>>>>>Str、Tuple、Dictionary into a List
['t', 'h', 'i', 's', ' ', 'i', 's', ' ', 'a', ' ', 'c', 'j', 'h', "'", 's', ' ', 's', 't', 'r']
['this', 'is', 'a', "cjh's", 'tuple']
['age', 'name', 'school']
['25', 'cjh', 'XDU']
>>>>>>>>>>>>>>>>Str、List、Dictionary into a Tuple
('t', 'h', 'i', 's', ' ', 'i', 's', ' ', 'a', ' ', 'c', 'j', 'h', "'", 's', ' ', 's', 't', 'r')
('this', 'is', 'a', "cjh's", 'list')
('age', 'name', 'school')
('25', 'cjh', 'XDU')
>>>>>>>>>>>>>>>>Str into a Dictionary
{'age': 25, 'name': 'cjh'}
>>>>>>>>>>>>>>>>Dictionary's Traversal
age:25 name:cjh school:XDU
age name school
25 cjh XDU
[Finished in 0.2s]





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值