为什么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