我有一个列表列表:
>>> a = [list() for i in range(0, 5)]
>>> a
[[], [], [], [], []]
我将其中一个内部列表的地址存储在一个变量中:
>>> c = a[4]
现在我希望能够以这种方式检索 c (=4) 的索引,但它不起作用:
>>> a.index(c)
0
当列表包含常量时,上面的方法有效,但上面的方法不起作用。我错过了什么?
最佳答案
问题在于 list.index()
也基于相等性而非恒等性工作,因此它返回列表中第一个相等元素的索引。
对于列表,首先检查它们是否是完全相同的列表来检查是否相等(也就是说,如果要比较的两个列表是相同的列表对象,它会立即返回 True),否则它基于它包含的所有元素的相等性,也就是说,如果两个列表的所有元素顺序相同,那么这些列表是相等的,因此空列表总是相等的。示例 -
>>> a = []
>>> b = []
>>> a == b
True
>>> a is b
False
关于python - 列表列表中内部列表的索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32814620/