流行返回的是列表中「不支持索引」的實際元素(簡而言之,返回的元素不是列表(實際上某個對象可以以這種方式訪問,但這是另一回事)) 。因此例外。
你可以做的是:
mylist.pop(index) # this will remove the element at index-th position
例如
>>> mylist = [1, 2, 3, 4]
>>> mylist.pop(1) # this will remove the element 2 of the list and return it
2 # returned element of the list
>>> print mylist
[1, 3, 4]
如果你沒有興趣再找個元素去掉,你可以簡單地使用德爾(假定指數存在):
del mylist[index]
示例
>>> mylist = [1, 2, 3, 4]
>>> del mylist[2]
>>> print mylist
[1, 2, 4]
在嵌套列表的情況下:
>>> mylist = [[1, 2], ['a', 'b', 'c'], 5]
>>> mylist[0].pop(1) # we pop the 2 element (element at index 1) of the list at index 0 of mylist
2
>>> print mylist
[[1], ['a', 'b', 'c'], 5]
>>> mylist.pop(1)[1] # here we pop (remove) the element at index 1 (which is a list) and get the element 1 of that returned list
'b'
>>> print mylist # mylist now possess only 2 elements
[[1], 5]
在一個不相關的音符,我叫列表變量mylist
而不是list
爲了不覆蓋list
內置型。
呃,你已經刪除它了。這不是例外。 –
pop將彈出的元素返回,這就是爲什麼你不能做你想要的東西。 – Mattias