我正在学习python,我对这种行为感到困惑。我试过了 以下按预期工作:
>>> d=[1,2,3]
>>> for i in (0,2):d.pop()
3
2
>>> d
[1]
现在
<>> d=[1,2,3]
>>> for i in (0,3):d.pop(d)
3
2
>>> d
[1]
在我期待时给出相同的结果:
3
2
1
>>> d
[]
我错过了什么?
答案 0 :(得分:3)
在你的情况下
for i in (0,3):d.pop(d)
for i in (0,2):d.pop(d)
表示完全相同,因为您没有生成列表[0,1,2]
,而是在两种情况下都指定了包含2个元素的元组。 i
的值不起任何作用
你需要
for i in range( 0, 2)
或
for i in range( 0, 3)
答案 1 :(得分:0)
我是Python新手。我尝试了以下代码,它对我有用。
E = [1,2,3]
表示范围内的i(0,len(e)): print e.pop()
答案 2 :(得分:0)
我实际上不知道你的期望。试试这个
d=[1,2,3]
for i in reversed(range(3)):d.pop(i)
>>>d
[]