gpt4 book ai didi

python - 需要澄清我在 Python 中的 for 循环逻辑

转载 作者:太空宇宙 更新时间:2023-11-03 15:03:47 27 4
gpt4 key购买 nike

输出应该是 [2, 18, 6, 16, 10, 14]

my_list = [1, 9, 3, 8, 5, 7]

for number in my_list:
number = 2 * number

print my_list

问题是它打印了相同的 my_list 值。逻辑 number = 2 * number 甚至没有执行?

最佳答案

您没有更新列表,您只是更新了数字变量:

for number in my_list:
number = 2 * number

有很多方法可以做到这一点:

使用枚举:

my_list = [1, 9, 3, 8, 5, 7]

for index,number in enumerate(my_list):
my_list[index] = 2 * number

print my_list

使用列表理解:

my_list = [2*x for x in my_list]

使用 Lambda 和 map :

my_list = map(lambda x: 2*x, my_list)

关于python - 需要澄清我在 Python 中的 for 循环逻辑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35168346/

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