Python列表推导式

发布网友 发布时间:2022-04-06 04:20

我来回答

2个回答

懂视网 时间:2022-04-06 08:42

python使用列表推导式的方法:1、用于使用其他列表创建一个新列表;2、可以对原列表进行变换和筛选;3、对多重嵌套的list进行变换筛选。

python使用列表推导式的方法:

python中列表推导式用于使用其他列表创建一个新列表。

其基本形式为: [表达式 for 变量 in 列表]

如:

# 想得到1-10的平方组成的list
list_1_10 = [x**2 for x in range(1,11)]
print(list_1_10)

输出为:

a026cd88cb560cfd49b5abdcfe4c459.png

复杂一点的列表表达式可以对原列表进行变换和筛选。

如:

# 想得到1-10中为偶数的平方组成的list
example = [i**2 for i in range(1,11) if i%2 == 0 ]
print(example)

输出为:

70780f4bace9869d8a3affab015ee3e.png

以及对多重嵌套的list进行变换筛选。

如:

# 想得到多重嵌套中的数是2的倍数的平方组成的list
example2 = [[1,2,3],[4,5,6],[7,8,9],[10]]
example3 = [j**2 for i in example2 for j in i if j%2 == 0]
print(example3)

输出为:

e01fd327b994c1f9ba691ee57f1fa07.png

如:

# 想得到多重嵌套的list中一重嵌套中list长度大于1的list中的数为2的倍数的平方组成的list
example4 = [[1,2,3],[4,5,6],[7,8,9],[10]]
exmaple5 = [j**2 for i in example2 if len(i)>1 for j in i if j%2 == 0]
print(exmaple5)

输出为:

f9950f7bfa542ecc5098d2cb729671e.png

相关学习推荐:python视频教程

热心网友 时间:2022-04-06 05:50

i得到的是0,1,2三个值,被作为下标访问,生成了对应元素的乘积。追问为什么是这个结果?和我算出来的不一样

追答这个结果没任何问题 元素0乘以元素0

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com