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

 

你可能感兴趣的:(python)