【问题标题】:python: How to determined if a value is contained in a certain column of 2D list?python:如何确定一个值是否包含在二维列表的某一列中?
【发布时间】:2018-05-17 06:20:48
【问题描述】:

每个索引只需要出现一次。所以我想检查第二列中是否已经存在2的值。

my_list = [[0, 0], 
           [1, 3], 
           [2, 5], 
           [3, 4]]

如果我检查“2”,它应该在这种情况下返回False

【问题讨论】:

  • 你说的第二级是什么意思? [1, 3] 行还是 [0, 3, 5, 4] 列?
  • any((y==2 for _, y in my_list))
  • 是的,它是 (0, 3, 5, 4)

标签: python python-3.x python-2.7 list multidimensional-array


【解决方案1】:

如果您的意思是第二个排名是第二个索引,那么,

my_list = [[0, 0], [1, 3], [2, 5], [3, 4]]

for index in range(len(my_list)):
    if my_list[index][1] == 2:
       print("True")
    else:
       print("False")

【讨论】:

  • @joonho Park:这是你期待的吗?
  • 这是我预料中的一种结果。但可以肯定的是,我正在寻找更短的方法。
【解决方案2】:

我要做的第一件事是隔离第二个元素:

seconds = [x for (y,x) in my_list ]

然后我会检查 2 是否存在于此列表中 2 in seconds 或在一个步骤中:

>>> 2 in [x for (y,x) in my_list ]
False
>>> 3 in [x for (y,x) in my_list ]
True
>>> 

最后,来自@Faibbus 的评论,在python中如果你对某个值不感兴趣(你可以忽略它)我们倾向于使用_,所以上面变成了:

2 in [x for (_,x) in my_list ]

【讨论】:

    猜你喜欢
    • 2012-09-30
    • 2022-11-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-11
    • 2013-11-08
    • 2014-01-16
    • 2021-12-19
    相关资源
    最近更新 更多