python学习十

列表生成式

List Comprehensions,是Python内置的用来创建list的生成式。

理解:遍历+处理+判断

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34

# 从2到10 不包含11
l = list(range(2,11))
print(l)

# 生成[1x1, 2x2, 3x3, ..., 10x10]
l = [x * x for x in range(1,11)]
print(l)

# 筛选出仅偶数的平方
l = [x * x for x in range(1,10) if x % 2 == 0]
print(l)

# 两层循环
l = [m + n for m in 'qwe' for n in 'asd']
print(l)

# 列出当前目录下的所有文件和目录名
l = [d for d in os.listdir('.')]
print(l)

# 使用两个变量来生成list
d = {'x': 'A', 'y': 'B', 'z': 'C' }
l = [k + '=' + v for k,v in d.items()]
print(l)

# 所有的字符串变成小写
l1 = ['Hello', 'World', 'IBM', 'Apple']
l = [s.lower() for s in l1]
print(l)

l1 = ['Hello', 'World', 18, 'Apple', None]
l = [s.lower() for s in l1 if isinstance(s,str)]
print(l)