python pop()令人费解的行为

时间:2015-04-08 11:35:47

标签: python pop

我正在学习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
[]

我错过了什么?

3 个答案:

答案 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
[]