相关疑难解决方法(0)

如何在for循环期间修改列表条目?

现在我知道在迭代循环期间修改列表是不安全的.但是,假设我有一个字符串列表,我想自己去除字符串.替换可变值是否算作修改?

python

150
推荐指数
5
解决办法
21万
查看次数

迭代时修改列表

l  = range(100)                         
for i in l:                         
    print i,                         
    print l.pop(0),                  
    print l.pop(0)
Run Code Online (Sandbox Code Playgroud)

上面的python代码给出了与预期完全不同的输出.我想循环遍历项目,以便我可以在循环时跳过项目.

请解释.

python iterator loops list

54
推荐指数
5
解决办法
8万
查看次数

从列表中删除项目时出现奇怪的结果

我有这段代码:

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 loops list

32
推荐指数
3
解决办法
5844
查看次数

Python如何在内部管理'for'循环?

我正在尝试学习Python,我开始使用一些代码:

a = [3,4,5,6,7]
for b in a:
    print a
    a.pop(0)
Run Code Online (Sandbox Code Playgroud)

输出是:

[3, 4, 5, 6, 7]
[4, 5, 6, 7]
[5, 6, 7]
Run Code Online (Sandbox Code Playgroud)

我知道在我循环的时候改变数据结构并不是一个好的做法,但我想了解Python在这种情况下如何管理迭代器.

主要问题是:如果我改变状态,它如何知道它必须完成循环a

python for-loop data-structures

16
推荐指数
2
解决办法
2976
查看次数

标签 统计

python ×4

list ×2

loops ×2

data-structures ×1

for-loop ×1

iterator ×1