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

标签 python list

我有一个列表列表:

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

相关文章:

c - 追加到数组末尾

list - 如何从名称与值配对的列表构建矩阵

python - 如何从 2D 列表中以 python 方式选择随机索引,使相应的元素与值匹配?

python - 如何在 SQLAlchemy 中使用空集合进行分页查询?

python - 带有 except block 的变量范围 : Difference between Python 2 and 3

python - 无法终止 Chrome 进程并使用 ChromeDriver 和 Chrome 通过 Python 中的 Selenium 运行内存不足

list - Prolog - 计算列表中的重复次数

python - 如何像 django 一样将日期时间格式化为字符串

python - 生成给定模式的随机文本字符串

python - 如何从列表中只获取不同的值?