gpt4 book ai didi

Python 列表理解

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:28:10 28 4
gpt4 key购买 nike

我正在学习 python3 列表理解。我了解如何格式化列表理解:[方程式、for 循环、if 过滤语句],但我无法弄清楚如何将三行代码压缩为“方程式”部分的单个方程式。

我取一个数字并将其与自身相加,然后取结果并将其与自身相加等等,以在列表中创建一个数字序列。

我可以通过声明 x = 1 然后循环以下内容来完成此操作:

y = x + x

x = y

谁能帮我把它变成一个单线方程,如果可能的话,我可能会研究的资源可以帮助我将来解决这个问题?

最佳答案

你的算法等同于乘以 2 的幂:

x = 3
res = [x * 2**i for i in range(10)]

# [3, 6, 12, 24, 48, 96, 192, 384, 768, 1536]

要了解为什么会这样,请注意您在 for 循环的每次迭代中将起始数字乘以 2:

x = 3
res = [x]
for _ in range(9):
y = x + x
x = y
res.append(y)

print(res)

# [3, 6, 12, 24, 48, 96, 192, 384, 768, 1536]

正如@timgeb 提到的,您不能在进行过程中引用列表理解的元素,因为在理解完成之前它们不可用。

关于Python 列表理解,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52541850/

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