zhtv 发表于 2015-12-2 12:16:04

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
  
页: [1]
查看完整版本: python 循环技巧