gpt4 book ai didi

python - 我可以建立一个可变范围吗?

转载 作者:行者123 更新时间:2023-12-01 03:50:43 25 4
gpt4 key购买 nike

可变对象的迭代在执行时是可变的:

a = [11, 12, 13]

for i in a:
if i == 12:
a.append(20)
print(i)

结果

11
12
13
20

a[11, 12, 13, 20]

但是如果我使用范围,它就不可变

a = [11, 12, 13]

for i in range(len(a)):
if i == 1:
a.append(20)
print(a[i])

结果

11
12
13

a之后仍然是[11, 12, 13, 20]

有没有办法构建一个 myrange 对象,该对象的工作方式与 range 相同,但在执行时是可变的?

最佳答案

是的,您可以,正如您自己所说,a 已经是可变的,因此不必在循环之前迭代基于 len(a) 的范围,您可以执行以下操作:

for i, val in enumerate(a):
if i == 1:
a.append(20)
print(val)

输出:

11
12
13
20

关于python - 我可以建立一个可变范围吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38300080/

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