【问题标题】:How to check if a tuple contains an element in Python?如何检查元组是否包含Python中的元素?
【发布时间】:2013-07-29 00:19:18
【问题描述】:

我试图找到可用的方法,但找不到。没有contains。我应该使用index 吗?我只想知道该项目是否存在,不需要它的索引。

【问题讨论】:

    标签: python collections tuples


    【解决方案1】:

    你使用in

    if element in thetuple:
        #whatever you want to do.
    

    【讨论】:

    • 谢谢,如果 a in tuple 和 b in tuple 我应该做多个元素:?
    • 是的。如果你有很多元素,你可以考虑改用sets,在那里你可以进行联合、差异和交叉操作。
    • 谢谢,实际上我使用的 API 正在返回一个元组,这就是我使用它的原因。我应该把它转换成一个集合吗?
    • @JoanVenge:如果你想让它成为一个集合,是的。
    • 谢谢。我只是不想过多地更改数据类型,因为它每帧都会被调用 10000 次。
    【解决方案2】:
    if "word" in str(tuple):
    # You can convert the tuple to str too
    

    我有同样的问题,只有在转换 str() 后才对我有用

    【讨论】:

    • 您好,新的贡献者。您的答案与接受的答案相似,但您应该知道关键字 in 与类上的 __contains__ 重载运算符相同。因此,当原始发布者说没有__contains__ 时,他/她的意思是无法在数据集上使用 in 关键字。如您所见,字符串类已实现该运算符,因此您的答案没问题。继续! :D
    • 它是真的,我没有看到问题中的规范。我正在寻找解决我的问题(“str”情况),我发现问题不是关于它的,只是在回答之后哈哈
    【解决方案3】:

    请注意: 返回 哎呀。 使用集合:d= {...}

    def simha():
        d = ('this_is_valid')
        b = 'valid'
        if b in d:
            print("Oops!!!!!")
    
    
    simha()
    

    【讨论】:

    • 元组只有在你使用(element,)的符号时才会在python中创建。逗号非常重要。如果没有逗号,python 会将其视为要计算的表达式。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-10-13
    • 1970-01-01
    • 1970-01-01
    • 2021-07-16
    • 2017-11-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多