我有这段代码:
numbers = range(1, 50)
for i in numbers:
if i < 20:
numbers.remove(i)
print(numbers)
Run Code Online (Sandbox Code Playgroud)
但我得到的结果是:
[2,4,6,8,10,12,14,16,18,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35 ,36,37,38,39,40,41,42,43,44,45,46,47,48,49]
当然我希望结果中没有出现20以下的数字,我假设我在删除时做错了.
Python 有哪些未定义的行为?语言规范中未定义的含义。我知道的唯一例子是在迭代序列时修改序列。在了解这一点之前,我曾经认为 Python 没有未定义的行为,所以我认为这是极其罕见的。