爲什麼idx = None?如何在python中使用list.append()後得到最後一個元素索引
myList = []
idx = myList.append("abc")
print myList
print idx
print myList[0]
打印結果是:
['abc']
None
abc
爲什麼idx = None?如何在python中使用list.append()後得到最後一個元素索引
myList = []
idx = myList.append("abc")
print myList
print idx
print myList[0]
打印結果是:
['abc']
None
abc
「你可能已經注意到,像插入方法,刪除或那種只修改已沒有返回值打印名單 - 他們返回默認無1這是一個設計原則。 Python中的所有可變數據結構「
由於append方法不返回任何值。它只會將元素附加到列表中。
最後一個元素的索引是len(myList)-1
。
func追加沒有返回。
使用mylist好多了[-1] – 2014-11-06 08:43:30
對不起,很久沒有python了... – 2014-11-06 12:00:23
等等,他想要最後一個元素的索引! – 2014-11-06 12:01:07
見我PyCharm
class list(object)
def append(self, x)
Inferred type: (self: list[T], x: T) -> None
所以idx = myList.append("abc")
下面的文檔將讓IDX是無因append方法只是返回。
.append
函數不會返回新元素的索引(事實上,它什麼都不返回),所以索引被賦值爲「None」。
如果您想要最後一個元素的索引,它比列表的長度小len(myList) -1
。
您可以使用list[-1]
得到最後一個元素,它很酷。 Python很酷。
如果你真的想list.append()
回到你,你應該創建自己的類從list
繼承和重新定義append()
功能
我認爲這不是他想要的。 – 2014-11-06 08:47:15
MyList.append的值()不給你任何東西。 append()方法簡單地附加,即其無效。你正在想它作爲一個數據庫插入命令,它應該返回它插入的索引。 – ha9u63ar 2014-11-06 08:36:50
'append'不返回任何值。你必須做'myList.index(「abc」)' – dazedconfused 2014-11-06 08:36:55
@Figo你真正的問題是什麼? – 2014-11-06 08:46:12