查找列表中包含未知值的元组结构

赛洛泰克

说我有元组列表:

list = [(1,5), (1,7), (2,3)]

Python中有没有办法写类似

if (1, *) in list: do things

在哪里*意味着“我不在乎这个值”?因此,我们正在检查1第一个位置是否有一个元组,第二个位置是否有任何值。

据我所知,其他语言也有特殊的机制,但是我只是不知道这个特殊问题的名字。那么Python中有类似的行为吗?

PS:我知道我可以在这里使用列表推导。我只是对此特定机制感兴趣。

交流电

本地不支持您所要求的占位符对象,但是您可以自己创建类似的对象:

class Any(object):
    def __eq__(self, other):
        return True
ANYTHING = Any()

lst = [(1,5), (1,7), (2,3)]

__eq__方法定义两个对象如何测试相等性。(有关详细信息,请参见https://docs.python.org/3/reference/datamodel.html。)在这里,ANYTHING对于与任何对象的相等性,始终将测试为肯定。(除非该对象也__eq__以返回False的方式覆盖。)

in运营商仅仅要求__eq__在您的列表中的每个元素。a in b执行以下操作:

for elem in b:
    if elem == a:
        return True

这意味着,如果您说的话(1, ANYTHING) in lst,Python将首先与(1, ANYTHING)中的第一个元素进行比较lst(反过来,Tuples定义__eq__,如果其所有元素的所有结果都返回True,则__eq__返回True。即(x, y) == (a, b)等于x==a and y==bx.__eq__(a) and y.__eq__(b)。)

因此,(1, ANYTHING) in lst将返回True,而(3, ANYTHING) in lst将返回False。

另外,请注意,我重命名了您的列表,lst而不是list为了防止名称与内置Python冲突list

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在元组列表中查找多种模式-python

来自分类Dev

在元组列表中查找元组(按多个键排序)

来自分类Dev

分组3个元组并在C#中搜索元组列表以查找特定值

来自分类Dev

从元组列表中删除值

来自分类Dev

如何通过给定索引修改包含特定值的元组列表中的那些元组

来自分类Dev

在包含列表的字典中查找最大值

来自分类Dev

在元组列表中删除包含nan的元组-Python

来自分类Dev

如何在列表中查找重叠的元组并返回重叠的元组

来自分类Dev

从varchar(50)列表中查找值包含单词的行

来自分类Dev

从元组列表中获取每个元组的最大值列表

来自分类Dev

如何查找列表中R是否包含空值?

来自分类Dev

在元组列表中按内部元组查找元素

来自分类Dev

包含某些元组的元组的元组索引列表

来自分类Dev

查找元组中的列表数

来自分类Dev

从2个元组列表中查找公共值,并将一个元组中的值添加到另一个

来自分类Dev

在元组列表中查找唯一列表

来自分类Dev

在元组列表中查找最大元素

来自分类Dev

在结构数组中查找值

来自分类Dev

寻找在元组列表中合并包含重复字段的元组的算法

来自分类Dev

在包含列表的字典中查找最大值

来自分类Dev

元组包含C#中的拖曳列表

来自分类Dev

在元组列表中删除包含nan的元组-Python

来自分类Dev

在列表中查找包含值的所有向量

来自分类Dev

谓词使用元组列表中的查找

来自分类Dev

如何获取此包含元组的列表中的最小值?

来自分类Dev

从包含数据帧中元组列表的每个单元格中检索最大值

来自分类Dev

在元组列表中查找重复项

来自分类Dev

Scala:在元组列表中查找唯一值

来自分类Dev

修改包含元组的列表

Related 相关文章

热门标签

归档