python中循环的技巧
【摘要】
循环的技巧
在字典中循环时,用 items() 方法可同时取出键和对应的值:
>>>
>>> knights = {'gallahad': 'the pure',...
循环的技巧
在字典中循环时,用 items()
方法可同时取出键和对应的值:
>>>
>>> knights = {'gallahad': 'the pure', 'robin': 'the brave'}
>>> for k, v in knights.items():
... print(k, v)
...
gallahad the pure
robin the brave
- 1
- 2
- 3
- 4
- 5
- 6
在序列中循环时,用 enumerate()
函数可以同时取出位置索引和对应的值:
>>>
>>> for i, v in enumerate(['tic', 'tac', 'toe']):
... print(i, v)
...
0 tic
1 tac
2 toe
- 1
- 2
- 3
- 4
- 5
- 6
同时循环两个或多个序列时,用 zip()
函数可以将其内的元素一一匹配:
>>>
>>> questions = ['name', 'quest', 'favorite color']
>>> answers = ['lancelot', 'the holy grail', 'blue']
>>> for q, a in zip(questions, answers):
... print('What is your {0}? It is {1}.'.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.
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
逆向循环序列时,先正向定位序列,然后调用 reversed()
函数:
>>>
>>> for i in reversed(range(1, 10, 2)):
... print(i)
...
9
7
5
3
1
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
按指定顺序循环序列,可以用 sorted()
函数,在不改动原序列的基础上,返回一个重新的序列:
>>>
>>> basket = ['apple', 'orange', 'apple', 'pear', 'orange', 'banana']
>>> for i in sorted(basket):
... print(i)
...
apple
apple
banana
orange
orange
pear
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
使用 set()
去除序列中的重复元素。使用 sorted()
加 set()
则按排序后的顺序,循环遍历序列中的唯一元素:
>>>
>>> basket = ['apple', 'orange', 'apple', 'pear', 'orange', 'banana']
>>> for f in sorted(set(basket)):
... print(f)
...
apple
banana
orange
pear
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
一般来说,在循环中修改列表的内容时,创建新列表比较简单,且安全:
>>>
>>> import math
>>> raw_data = [56.2, float('NaN'), 51.7, 55.3, 52.5, float('NaN'), 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]
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
文章来源: jianguo.blog.csdn.net,作者:坚果前端の博客,版权归原作者所有,如需转载,请联系作者。
原文链接:jianguo.blog.csdn.net/article/details/114241097
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)