【发布时间】:2020-03-05 12:08:48
【问题描述】:
myList = ['hi', 'hello', 'wassup', 'hey']
del myList[myList.index('hi')]
我不明白第二行是如何工作的。
【问题讨论】:
-
第二行的哪一部分你不明白。是
myList.index(...)还是del myList[...]?
标签: python python-3.x del
myList = ['hi', 'hello', 'wassup', 'hey']
del myList[myList.index('hi')]
我不明白第二行是如何工作的。
【问题讨论】:
myList.index(...) 还是del myList[...]?
标签: python python-3.x del
首先使用index 方法,它试图在myList 中找到“hi”第一次出现的索引(即0)。然后它将使用del 从列表中删除 0 索引。使用下面的 sn-p 可以更好地理解。
myList = ['hi', 'hello', 'wassup', 'hey']
hi_index = myList.index('hi') # -> 0
del myList[hi_index]
所以上面的 sn-p 会从myList 中删除第一次出现的“hi”,结果必须是['hello', 'wassup', 'hey']。
我还应该指出,如果该项目在列表中不可用,index 将引发ValueError 异常。所以要使用index,您必须确定该项目的存在。
【讨论】:
del myList[myList.index[0]) 是如何工作的呢?
myList.index[0] 不能也不起作用。除此之外,您对究竟有什么疑惑:myList.index(...)、myList[...]、del ... 或 del myList[...]?
myList.index[0] 与 myList[0] 不同。实际上myList.index(x) 将在myList 中找到'x' 元素的索引,myList[0] 指向myList 的第一个元素。