# 列表生成式
# 列表生成式即List Comprehensions,是Python内置的非常简单却强大的可以用来创建list的生成式

import os

# 生成 [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
l1 = list(range(1, 11))
print('l1:', l1)

# 生成 [1*1, 2*2, 3*3, ..., 10*10]
# 1.使用循环生成
l2 = []
for x in range(1, 11):
    l2.append(x * x)
print('l2:', l2)
# 2.列表生成式生成
l2 = [x * x for x in range(1, 11)]
print('l2:', l2)

# if条件筛选仅偶数的平方
l3 = [x * x for x in range(1, 11) if x % 2 == 0]
print('l3:', l3)

# 使用两层循环生成全排列
l4 = [m + n for m in 'ABC' for n in 'XYZ']
print('l4:', l4)

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

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

# 把一个list中所有的字符串变成小写
L = ['Hello', 'World', 'IBM', 'Apple']
l7 = [s.lower() for s in L]
print('l7:', l7)