gpt4 book ai didi

python - 单个 python 列表理解中的两个任务

转载 作者:太空狗 更新时间:2023-10-29 21:16:11 26 4
gpt4 key购买 nike

例如:

a = [1,2,3]
x = [2*i for i in a]
y = [3*i for i in a]

如果 a 的大小很大,将列表理解合并为一个(如果可能的话)会更有效吗?如果是这样,你是怎么做到的?

有点像,

x,y = [2*i, 3*i for i in a]

这是行不通的。如果使用列表理解在计算上并不比使用普通的 for 循环更有效,也请告诉我。谢谢。

最佳答案

您想使用 the zip() builtin与明星运营商一起做这件事。 zip() 通常将列表转换为成对列表,当像这样使用时,它会解压缩 - 将成对列表拆分为两个列表。

>>> a = [1, 2, 3]
>>> x, y = zip(*[(2*i, 3*i) for i in a])
>>> x
(2, 4, 6)
>>> y
(3, 6, 9)

请注意,我不确定这在某种程度上是否真的更有效。

关于python - 单个 python 列表理解中的两个任务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11147890/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com