如何检查列表中是不是有元组?

     2023-03-29     251

关键词:

【中文标题】如何检查列表中是不是有元组?【英文标题】:How to check if there's a tuple inside a list?如何检查列表中是否有元组? 【发布时间】:2018-10-29 12:58:02 【问题描述】:

为什么会这样:

seq = [(1, 2), (3, 4), (5, 6)]
print(() in seq)

返回False?如何检查在没有特定值的序列中是否存在元组,甚至是通用序列,as in this answer。

【问题讨论】:

列表会被任意嵌套吗?还是像你的例子一样平坦? 您正在检查的是列表中是否存在一个空元组。您可以改为检查类型。 你为什么期望它会起作用?真的。我不明白是什么让你认为这可能有效。这似乎不仅仅是一个疯狂的猜测,因为您似乎对它不起作用的事实感到困惑。是什么思维过程让你认为它可以做你想做的事?如果您发现自己对这类事情感到困惑,您应该在发帖前问自己这个问题并得到答案。如果你这样做了,你经常会发现有些事情你认为是真的,但实际上并不确定,如果你去检查,那么你可能甚至不需要发布。 【参考方案1】:

() 是一个空元组。 seq 不包含空元组。

你想要

>>> seq = [(1, 2), (3, 4), (5, 6)]
>>> any(isinstance(x, tuple) for x in seq)
True

对于通用序列,您可以使用

>>> from collections import abc
>>> any(isinstance(x, abc.Sequence) for x in seq)
True

但是,许多对象被非正式地视为序列,但既没有实现完整的协议 abc.Sequence 定义,也没有注册为 Sequence 的虚拟子类。

阅读this excellent answer了解更多信息。

你可以找到一个关于检测序列的问题here。

【讨论】:

我相信abc.Iterable在这里也有用 @cat 不幸的是,并非如此。我详细写了为什么检查abc.Iterable 是不可靠的here。 好奇:any() 是否贪婪地运行,一开始就停止True-你的出现? @BradSolomon 是的,any 很懒惰。【参考方案2】:

您正在检查的是列表中是否存在一个空元组。

您可以改为检查类型。

def has_tuple(seq):    
    for i in seq:
        if isinstance(i, tuple):
            return True
    return False

【讨论】:

@timgeb 我故意提供伪代码来鼓励 OP 自己实现它。 如果您不喜欢编辑,我很抱歉。随意回滚。

python中带有元组列表的字符串列表的条件笛卡尔积的单线

】python中带有元组列表的字符串列表的条件笛卡尔积的单线【英文标题】:One-linerforconditionalCartesianProductoflistofstringswithlistoftuplesinpython【发布时间】:2018-03-2603:16:52【问题描述】:我有一个字符串列表和一个元组列表。输入:str... 查看详情

如何检查对象是列表还是元组(但不是字符串)?

】如何检查对象是列表还是元组(但不是字符串)?【英文标题】:Howtocheckifanobjectisalistortuple(butnotstring)?【发布时间】:2010-12-2213:03:20【问题描述】:这是我通常所做的,以确定输入是list/tuple-但不是str。因为很多时候我偶然发... 查看详情

检查元组是不是出现在元组列表中时出现ValueError

】检查元组是不是出现在元组列表中时出现ValueError【英文标题】:ValueErrorwhencheckingiftupleoccursinlistoftuples检查元组是否出现在元组列表中时出现ValueError【发布时间】:2021-10-2003:20:09【问题描述】:当我运行我的代码时,我突然收... 查看详情

如何检查给定的“方法”对象是不是接受 Julia 0.6 中给定的类型的“元组”?

】如何检查给定的“方法”对象是不是接受Julia0.6中给定的类型的“元组”?【英文标题】:HowdoIcheckifagiven`Method`objectacceptsagiven`Tuple`oftypesinJulia0.6?如何检查给定的“方法”对象是否接受Julia0.6中给定的类型的“元组”?【发布时... 查看详情

从元组列表中返回具有最小 y 值的元组

】从元组列表中返回具有最小y值的元组【英文标题】:Returntuplewithsmallestyvaluefromlistoftuples【发布时间】:2016-09-0318:52:13【问题描述】:我正在尝试从元组列表中返回一个最小的第二个索引值(y值)的元组。如果有两个y值最小的... 查看详情

从列表中删除 nil - Erlang

】从列表中删除nil-Erlang【英文标题】:Removenilsfromalist-Erlang【发布时间】:2013-09-1511:27:11【问题描述】:我怎样才能从这个列表中删除nils,假设我得到了:["some","other",[],nil,"more","somemore",[],nil,nil]最后我只想从长元组中提取第一... 查看详情

如何检查列表中是不是存在列表项[关闭]

】如何检查列表中是不是存在列表项[关闭]【英文标题】:Howtocheckiflistitemexistsinlist[closed]如何检查列表中是否存在列表项[关闭]【发布时间】:2021-12-1606:39:38【问题描述】:我正在尝试检查未过滤列表(UL)中是否存在列表项(LI)。... 查看详情

6元组和集合类型(赋值补充)

元组(tuple)  为何要有元组?===>存多个值,对比列表来说,元组不可变,主要是用来读  定义:与列表类型相似,只不过[]换成(),元组是不可变类型所以可以当做字典的key    常用方法: 1#!/usr/bin/envpy... 查看详情

如何检查对象是不是是命名元组的实例?

】如何检查对象是不是是命名元组的实例?【英文标题】:Howtocheckifanobjectisaninstanceofanamedtuple?如何检查对象是否是命名元组的实例?【发布时间】:2011-01-1103:06:20【问题描述】:如何检查对象是否为Namedtuple的实例?【问题讨论... 查看详情

如何检查一个数字是不是在列表列表中?

】如何检查一个数字是不是在列表列表中?【英文标题】:Howtocheckifanumberisinalistoflists?如何检查一个数字是否在列表列表中?【发布时间】:2017-05-3019:22:42【问题描述】:所以我一直无法检查数字0是否在另一个列表中的一组列... 查看详情

检查表中是不是存在特定元组

】检查表中是不是存在特定元组【英文标题】:Checkingifspecifictupleexistsintable检查表中是否存在特定元组【发布时间】:2011-12-2306:09:50【问题描述】:有没有办法在where-in语句中检查表中是否存在特定的元组?类似:createtableTest(Ain... 查看详情

如何检查对象是不是已存在于列表中

】如何检查对象是不是已存在于列表中【英文标题】:howtocheckifobjectalreadyexistsinalist如何检查对象是否已存在于列表中【发布时间】:2010-08-0816:28:02【问题描述】:我有一个清单List<MyObject>myList我正在将项目添加到列表中,... 查看详情

如何检查特定整数是不是在列表中

】如何检查特定整数是不是在列表中【英文标题】:Howtocheckifaspecificintegerisinalist如何检查特定整数是否在列表中【发布时间】:2013-01-1412:08:04【问题描述】:我想知道如果某个整数在列表中,如何创建一个执行子句的if语句。我... 查看详情

python中,即使元组的成员对象中有列表,元组也是不可变的,是不是正确

Python中,即使元组的成员对象中有列表,元组也是不可变的,是否正确不完全正确。理由是,元组的“不可变”体现在内存地址的不可变,而元组中包含列表,尽管做到了元素地址不变,但列表作为元素,它的内容是可以变的。... 查看详情

如何检查元组是不是包含 Apache Pig 中的元素?

】如何检查元组是不是包含ApachePig中的元素?【英文标题】:HowtocheckifatuplecontainsanelementinApachePig?如何检查元组是否包含ApachePig中的元素?【发布时间】:2021-05-1914:40:56【问题描述】:假设我有这个文件:movie_id,title,genres95004,Supe... 查看详情

如何检查平面列表中是不是有重复项?

】如何检查平面列表中是不是有重复项?【英文标题】:HowdoIcheckifthereareduplicatesinaflatlist?如何检查平面列表中是否有重复项?【发布时间】:2010-12-0505:39:33【问题描述】:例如,给定列表[\'one\',\'two\',\'one\'],算法应该返回True,... 查看详情

如何检查值是不是在列表中或列表是不是为空?

】如何检查值是不是在列表中或列表是不是为空?【英文标题】:Howtocheckifvalueisinalistorifthelistisempty?如何检查值是否在列表中或列表是否为空?【发布时间】:2017-06-1115:56:44【问题描述】:我正在使用psycopg2通过Python3访问PostgreSQ... 查看详情

如何检查列表中是不是存在字符串

】如何检查列表中是不是存在字符串【英文标题】:HowtocheckifastringexistsinaList如何检查列表中是否存在字符串【发布时间】:2015-12-2422:29:23【问题描述】:这是我的代码:publicList<Contact>getAllContacts()List<Contact>contactList=newA... 查看详情