Python 列表列表中内部列表的索引

Python 列表列表中内部列表的索引,python,list,Python,List,我有一份清单: >>> a = [list() for i in range(0, 5)] >>> a [[], [], [], [], []] 我将一个内部列表的地址存储在一个变量中: >>> c = a[4] 现在我希望能够用这种方法检索c(=4)的索引,但它不起作用: >>> a.index(c) 0 当列表包含常量时,上面的方法有效,但上面的方法无效。我遗漏了什么?问题是list.index()也基于相等而非

我有一份清单:

>>> 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

a[4]
不是内部列表的地址,而是值。