基本语法
循环遍历
for item in <iterable>:
...
只要是可迭代的数据结构,都可以用这种方式循环遍历。
对于字典:
默认字典的键是可迭代的,用dict.values()可以遍历字典的值,用dict.item()可以遍历字典的键值对。
d = {'name': 'jason', 'dob': '2000-01-01', 'gender': 'male'}
for k in d: # 遍历字典的键
print(k)
name
dob
gender
for v in d.values(): # 遍历字典的值
print(v)
jason
2000-01-01
male
for k, v in d.items(): # 遍历字典的键值对
print('key: {}, value: {}'.format(k, v))
key: name, value: jason
key: dob, value: 2000-01-01
key: gender, value: male
当同时需要索引和元素时,通过 Python 内置的函数 enumerate(),用它来遍历集合,不仅返回每个元素,并且还返回其对应的索引:
l = [1, 2, 3, 4, 5, 6, 7]
for index, item in enumerate(l):
if index < 5:
print(item)
1
2
3
4
5
条件与循环复用
expression1 if condition else expression2 for item in iterable
等同于:
for item in iterable:
if condition:
expression1
else:
expression2
如果没有else,则可以写成:
expression for item in iterable if condition
再有:
给定两个列表 x、y,要求返回 x、y 中所有元素对组成的元组,相等情况除外:
[(a, b) for a in x for b in y if a != b]
等同于:
l = []
for a in x:
for b in y:
if a != b:
l.append((a, b))