所以下面是令我困惑的。Python pop()vs pop(0)
#!/usr/bin/python
test = [0, 0, 0, 1, 2, 3, 4, 5, 6]
test1 = [0, 0, 0, 1, 2, 3, 4, 5, 6]
for _dummy in test:
if(_dummy == 0):
test.pop()
for _dummy in test1:
if(_dummy == 0):
test1.pop(0)
print test
print test1
結果
ubuntu-vm:~/sandbox$ ./test.py
[0, 0, 0, 1, 2, 3]
[0, 1, 2, 3, 4, 5, 6]
也許,我從根本上誤解的流行是如何實現的。但我的理解是,它會刪除列表中給定索引處的項目,並將其返回。如果沒有指定索引,則默認爲最後一個項目。所以看起來,在第一個循環中它應該從列表的左邊移除3個項目,而在第二個循環中它應該從列表的末尾移除3個項目。
這在我的機器上完美地工作。我正在使用Python 2.7.6 – XrXrXr
在遍歷它時不能對列表進行變異。 – univerio
我在兩個不同的系統上試過這個。其一,是由運行python 2.6的大學提供的IDE。另一個是在我的虛擬機ubuntu上運行2.7.4。嗯。 – PerryDaPlatypus