列表生成式(list comprehension)
lis=
list
(
range
(
1
,
11
))
#lis=[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
lis=
list
(
range
(
10
))
#lis=[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
L=[]
for
x
in list
(
range
(
1
,
11
)):
L.append(x*x)
#L=[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
#列表生成式
m=
[x*x for x in range(1,11)]
#m=[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
m=
[x*x for x in range(1,11) if x%2==0]
#[4, 16, 36, 64, 100] 筛选出仅偶数的平方
m=
[x+y for x in 'ABC'for y in 'abc']
#使用两层循环,可以生成全排列
print
(m)
#结果为['Aa', 'Ab', 'Ac', 'Ba', 'Bb', 'Bc', 'Ca', 'Cb', 'Cc']
#列出当前目录下的所有文件和目录名,可以通过一行代码实现
import
os
#导入os模块
f=
[d for d in os.listdir('.')]
## os.listdir可以列出文件和目录
print
(f)
#结果为f=['.idea', 'test01.py', 'venv', '__pycache__']
#列表生成式也可以使用两个变量来生成list
d = {
'x'
:
'A'
,
'y'
:
'B'
,
'z'
:
'C'
}
m=
[x+'='+y for x,y in d.items()]
#m=['x=A', 'y=B', 'z=C']
#把一个list中所有的字符串变成小写
L = [
'Hello'
,
'World'
,
'IBM'
,
'Apple'
]
m=
[s.lower() for s in L]
#m=['hello', 'world', 'ibm', 'apple']