python 循环技巧

时间:2022-10-20 18:20:23

原文地址:http://docs.pythontab.com/python/python3.4/datastructures.html#tut-tuples

在字典中循环时,关键字和对应的值可以使用 iteritems() 方法同时解读出来。

knights = {'gallahad': 'the pure', 'robin': 'the brave'}

for k,v in knights.items():
print(k,v) -------输出如下-------------------------

robin the brave
gallahad the pure

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

for i, v in enumerate(['tic', 'tac', 'toe']):
print(i,v) ------输出如下------------------------------

0 tic
1 tac
2 toe


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

questions = ['name', 'quest', 'favorite color']
answers = ['lancelot', 'the holy grail', 'blue'] for q,a in zip(questions,answers):
print("{0},{1}".format(q,a)) ------输出如下----------------------------------

name,lancelot
quest,the holy grail
favorite color,blue

需要逆向循环序列的话,先正向定位序列,然后调用 reversed() 函数。

for i in reversed(range(1,10,2)):
print(i)
------输出如下----------------------------------

9
7
5
3
1

 

要按排序后的顺序循环序列的话,使用 sorted() 函数,它不改动原序列,而是生成一个新的已排序的序列.

basket = ['apple', 'orange', 'apple', 'pear', 'orange', 'banana']

for f in sorted(set(basket)):
print(f)
------输出如下----------------------------------

apple
banana
orange
pear