python 循环技巧

原文地址: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

原文地址:https://www.cnblogs.com/nzyjlr/p/4316052.html