不可变/返回修改后的循环列表?

2024-09-30 20:26:49 发布

您现在位置:Python中文网/ 问答频道 /正文

当我在看pycon的视频时,我很困惑。 https://www.youtube.com/watch?v=_AEJHKGk9ns

num = [1,2,3]
for x in num:
    x=x*3
print(num)

这个打印1,2,3

new_list=[]
for x in range(len(num))
new_list = x[num]*3 + new_list[]

我要3,6,9


Tags: inhttpscomnewfor视频youtubewww
2条回答

您可以使用范围直接生成步长为3的列表:

first = 3
num_elements = 3
step = 3

nums = range(first, first + step*num_elements, step) # Python2
# nums = list(range(first, first + step*num_elements, step)) # Python3

或者更简洁地说, nums=范围(3,12,3)#Python2 #nums=list(范围(3,12,3))#Python3

或者,如果您的列表已经给出,您可以使用列表理解

initial = [1,2,3]
nums = [3*elem for elem in initial]
num = [1,2,3]
for i in range(len(num)):
    num[i] = num[i] * 3
print(num)

相关问题 更多 >