Rumah >pembangunan bahagian belakang >Tutorial Python >Python循环的技巧介绍(附代码)

Python循环的技巧介绍(附代码)

不言
不言ke hadapan
2019-04-15 10:54:092367semak imbas

本篇文章给大家带来的内容是关于Python循环的技巧介绍(附代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

当在字典中循环时,用 items() 方法可将关键字和对应的值同时取出

>>> knights = {'gallahad': 'the pure', 'robin': 'the brave'}
>>> for k, v in knights.items():
...     print(k, v)
...
gallahad the pure
robin the brave

当在序列中循环时,用 <span class="pre">enumerate()</span> 函数可以将索引位置和其对应的值同时取出

>>> for i, v in enumerate([&#39;tic&#39;, &#39;tac&#39;, &#39;toe&#39;]):
...     print(i, v)
...
0 tic
1 tac
2 toe

当同时在两个或更多序列中循环时,可以用 <span class="pre">zip()</span> 函数将其内元素一一匹配。

>>> questions = [&#39;name&#39;, &#39;quest&#39;, &#39;favorite color&#39;]
>>> answers = [&#39;lancelot&#39;, &#39;the holy grail&#39;, &#39;blue&#39;]
>>> for q, a in zip(questions, answers):
...     print(&#39;What is your {0}?  It is {1}.&#39;.format(q, a))
...
What is your name?  It is lancelot.
What is your quest?  It is the holy grail.
What is your favorite color?  It is blue.

当逆向循环一个序列时,先正向定位序列,然后调用 <span class="pre">reversed()</span> 函数

>>> for i in reversed(range(1, 10, 2)):
...     print(i)
...
7
3

如果要按某个指定顺序循环一个序列,可以用 <span class="pre">sorted()</span> 函数,它可以在不改动原序列的基础上返回一个新的排好序的序列

>>> basket = [&#39;apple&#39;, &#39;orange&#39;, &#39;apple&#39;, &#39;pear&#39;, &#39;orange&#39;, &#39;banana&#39;]
>>> for f in sorted(set(basket)):
...     print(f)
...
apple
banana
orange
pear

有时可能会想在python循环时修改列表内容,一般来说改为创建一个新列表是比较简单且安全的

>>> import math
>>> raw_data = [56.2, float(&#39;NaN&#39;), 51.7, 55.3, 52.5, float(&#39;NaN&#39;), 47.8]
>>> filtered_data = []
>>> for value in raw_data:
...     if not math.isnan(value):
...         filtered_data.append(value)
...
>>> filtered_data
[56.2, 51.7, 55.3, 52.5, 47.8]

 【相关推荐:python教程

Atas ialah kandungan terperinci Python循环的技巧介绍(附代码). Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:cnblogs.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam