如何在元组中使用元组的长度?

时间:2019-10-24 19:46:20

标签: python tuples

我正在尝试查看一个元组中的元组是否仅具有数字2,任意次数

def check_tupl(tpl):
    for i in range(len(tpl)):
        tuple(tpl[i])                   
        for i in range(len(tpl[i][i])):
            if tpl[i][i]==2:
                return True
            else:
                return False

它向我显示此错误消息

builtins.TypeError:类型为'int'的对象没有len()

3 个答案:

答案 0 :(得分:2)

我们可以使用anyall来进行有效检查。

def check_tupl(tpls):
    return any(all(v == 2 for v in tpl) for tpl in tpls)

答案 1 :(得分:1)

这是因为在这里您得到一个int值,并检查其长度len(tpl[i][i])

尝试一下(这种自我解释):

def check_tupl(tpl):
    for tuple in tpl:                  
        for i in tuple:
            if i==2:
                return True
    return False

或使用in

def check_tupl(tpl):
    for tuple in tpl:   
        if 2 in tuple:               
            return True
    return False

答案 2 :(得分:0)

不确定标题是否与用户目标保持同步。

  

如何在元组中使用元组的长度?

vs

  

我正在尝试查看一个元组中的元组是否只有数字2,任何   次数

关于找到数字2,如何尝试递归

def find2(tpl):
    for element in tpl:

        if isinstance(element, tuple):
            return find2(element)
        else:
            if element == 2:
                return True
            else:
                return False