您的位置:首页 > 编程语言 > Python开发

python循环技巧

2013-05-04 20:04 288 查看
在字典中循环时,关键字和对应的值可以使用items()方法同时解读出来。

>>>knights={'gallahad':'thepure','robin':'thebrave'}
>>>fork,vinknights.items():
...printk,v
...
gallahadthepure
robinthebrave
字典的格式以{key:value}的格式来定义
比如
a={'name':'xiaoming','age':23}
字典支持嵌套

下面介绍的操作方法用到的例子是:
a={'name':'xiaoming','age':23}

Python的字典的items(),keys(),values()都返回一个list

>>>dict={1:2,'a':'b','hello':'world'}
>>>dict.values()
['b',2,'world']
>>>dict.keys()
['a',1,'hello']
>>>dict.items()
[('a','b'),(1,2),('hello','world')]
>>>

遍历字典的几种方法:

#!/usr/bin/python
dict={"a":"apple","b":"banana","o":"orange"}

print"##########dict######################"
foriindict:
print"dict[%s]="%i,dict[i]

print"###########items#####################"
for(k,v)indict.items():
print"dict[%s]="%k,v

print"###########iteritems#################"
fork,vindict.iteritems():
print"dict[%s]="%k,v

print"###########iterkeys,itervalues#######"
fork,vinzip(dict.iterkeys(),dict.itervalues()):
print"dict[%s]="%k,v



在序列中循环时,索引位置和对应值可以使用enumerate()函数同时得到。


>>>fori,vinenumerate(['tic','tac','toe']):
...printi,v
...
0tic
1tac
2toe

同时循环两个或更多的序列,可以使用zip()整体解读。

>>>questions=['name','quest','favoritecolor']
>>>answers=['lancelot','theholygrail','blue']
>>>forq,ainzip(questions,answers):
...print'Whatisyour%s?Itis%s.'%(q,a)
...
Whatisyourname?Itislancelot.
Whatisyourquest?Itistheholygrail.
Whatisyourfavoritecolor?Itisblue.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: