鱼C论坛

 找回密码
 立即注册
查看: 1586|回复: 4

[已解决]判断python中元组中的元组元素

[复制链接]
发表于 2021-6-22 21:44:40 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
>>> tuple6
(1, 2, 4, ('dao', 'rou', 'yun'), 78, ('che', 'xiao'), 59)

假设我的元组如上,那我应怎么判断 'rou' 是否在 tuple6当中了呢?
试过了 'rou' in tuple6,结果是false,这个算正常的

当 'rou' in tuple6[1]或者tuple(1)又或者是tuple6(1)[1]等,都是提示
Traceback (most recent call last):
  File "<pyshell#186>", line 1, in <module>
    **********
TypeError: 'tuple' object is not callable

请各位大佬指点一下~
最佳答案
2021-6-23 08:41:50
>>> tuple6 = (1, 2, 4, ('dao', 'rou', 'yun'), 78, ('che', 'xiao'), 59)
>>> tuple6
(1, 2, 4, ('dao', 'rou', 'yun'), 78, ('che', 'xiao'), 59)
>>> 'rou' in tuple6
False
>>> 'rou' in tuple6[3]
True
>>> 
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-6-22 21:56:13 | 显示全部楼层
没有()这种用法,想取值只有用中括号[]
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-6-23 00:20:15 | 显示全部楼层
def contain(iter, val):
    for i in iter:
        if i == val or hasattr(i, "__iter__") and contain(i, val):
            return True
    return False

contain(tuple6, "rou")
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-6-23 08:41:50 | 显示全部楼层    本楼为最佳答案   
>>> tuple6 = (1, 2, 4, ('dao', 'rou', 'yun'), 78, ('che', 'xiao'), 59)
>>> tuple6
(1, 2, 4, ('dao', 'rou', 'yun'), 78, ('che', 'xiao'), 59)
>>> 'rou' in tuple6
False
>>> 'rou' in tuple6[3]
True
>>> 
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-6-23 10:31:46 | 显示全部楼层
本帖最后由 nahongyan1997 于 2021-6-23 10:40 编辑

没有规律的序列在实际应用中没有任何用处,

不过还是忍不住想到了方法
a = (1, 2, 4, ('dao', 'rou', 'yun'), 78, ('che', 'xiao'), 59)
b = 'dao'
for each in a:
    if isinstance(each,tuple):
        for each1 in each:
            if each1==b:
                print("a",a.index(each))
                print("each",each.index(each1))
    else:
        if each == b:
            print("a",a.index(each))
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-15 06:51

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表