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

时间:2015-09-28 01:33:10

标签: python list

我有一份清单清单:

>>> a = [list() for i in range(0, 5)]
>>> a
[[], [], [], [], []]

我将一个内部列表的地址存储在一个变量中:

>>> c = a[4]

现在我希望能够以这种方式检索c(= 4)的索引,但它不起作用:

>>> a.index(c)
0 

当列表包含常量时,上述工作正常,但它不能在上面工作。我错过了什么?

1 个答案:

答案 0 :(得分:4)

问题是list.index()也基于相等而不是身份,因此它返回列表中第一个相等元素的索引。

对于列表,通过首先检查它们是完全相同的列表来检查相等性(即如果两个列表被比较的是相同的列表对象,它立即返回True)否则它基于它包含的所有元素的相等性,也就是说,如果两个列表具有相同顺序的所有元素,那么这些列表是相等的,因此空列表总是相等的。示例 -

>>> a = []
>>> b = []
>>> a == b
True
>>> a is b
False