我正在尝试查看一个元组中的元组是否仅具有数字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()
答案 0 :(得分:2)
我们可以使用any
和all
来进行有效检查。
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