📅  最后修改于: 2020-01-17 13:36:36             🧑  作者: Mango
Python通过某些内置函数在各种顺序容器中支持各种循环技术。这些方法在竞争性编程中非常有用,在各种项目中也非常有用,这些项目需要使用特定技术并使用循环来维护代码的整体结构。
它们在哪里使用?
在我们不需要实际操作整个容器的结构和顺序的地方,不同的循环技术主要为单个使用实例打印元素,而在容器中不会发生就地更改。这也可以在实例中使用,以节省时间。
使用Python数据结构的不同循环技术是:
# Python代码,展示enumerate()如何工作
for key, value in enumerate(['芒', '果', '文', '档']):
print(key, value)
输出:
0 芒
1 果
2 文
3 档
使用zip(): zip()用于组合2个类似的容器(list-list或dict-dict),依次打印值。该循环直到较小的容器结束遍历为止。
# Python代码,展示zip() 使用方法
# 初始化
questions = ['name', 'colour', 'shape']
answers = ['apple', 'red', 'a circle']
# 使用 zip() 把两个list关联起来
# and print values
for question, answer in zip(questions, answers):
print('什么是 {0}? I am {1}.'.format(question, answer))
输出:
什么是 name? I am apple.
什么是 color? I am red.
什么是 shape? I am a circle.
# Python代码。展示iteritems(),items()
d = { "芒果" : "for", "only" : "芒果" }
# 使用iteritems打印键值对
print ("使用iteritems的键值对 : ")
for i,j in d.iteritems():
print i,j
# 使用items打印键值对
print ("使用items的键值对 : ")
for i,j in d.items():
print i,j
输出:
使用iteritems的键值对 :
芒果 for
only 芒果
使用items的键值对 is :
芒果 for
only 芒果
范例2:
# Python代码,展示如何使用items()
# 初始化dict
king = {'Akbar': 'The Great', 'Chandragupta': 'The Maurya',
'Modi' : 'The Changer'}
# 使用items打印键值对
for key, value in king.items():
print(key, value)
输出:
Akbar The Great
Modi The Changer
Chandragupta The Maurya
注意:iteritems()已从Python 3.x中删除,仅在Python 2.x中有效,请使用dict.items()。
# Python代码展示如何使用 sorted()
# 初始化list
lis = [ 1 , 3, 5, 6, 2, 1, 3 ]
# 使用 sorted()打印排序好的list
print ("排序好的list : ")
for i in sorted(lis) :
print (i,end=" ")
print ("\r")
# 使用 sorted()和set()打印排序好的list
# use of set() removes duplicates.
print ("排序好的list(无重复元素) : ")
for i in sorted(set(lis)) :
print (i,end=" ")
输出:
排序好的list :
1 1 2 3 3 5 6
排序好的list(无重复元素) :
1 2 3 5 6
范例2:
# Python代码,展示如何使用sorted()
# 初始化list
basket = ['guave', 'orange', 'apple', 'pear',
'guava', 'banana', 'grape']
# 使用sorted()和set()打印list
for fruit in sorted(set(basket)):
print(fruit)/* Your code... */
输出:
apple
banana
grape
guava
guave
orange
pear
范例1:
# Python 代码,展示如何使用reversed()
# 初始化list
lis = [ 1 , 3, 5, 6, 2, 1, 3 ]
# 使用revered()打印反转的list
print ("list反转后 : ")
for i in reversed(lis) :
print (i,end=" ")
输出:
list反转后 :
3 1 2 6 5 3 1
范例2:
# Python代码,展示reversed()如何工作
# 使用reversed()打印反转的list
for i in reversed(range(1, 10, 3)):
print (i)
输出:
7
4
1
与for,while循环相比,使用上述技术的优势