You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python如何判断嵌套列表中元组末位取值是否满足指定条件

实现方案

核心逻辑:遍历每个子列表,提取所有元组的最后一位元素存入集合去重,直接通过集合内容判断返回值即可,无需额外计数操作。

完整可运行代码

x = [[(frozenset({(5, 'Y')}), 5, 'Y')],
     [(frozenset({(9, 'Y'), (2, 'Y'), (7, 'N'), (3, 'Y')}), 2, 'Y'),
      (frozenset({(4, 'Y'), (0, 'Y'), (8, 'N'), (1, 'Y')}), 4, 'Y'),
      (frozenset({(9, 'Y'), (2, 'Y'), (7, 'N'), (3, 'Y')}), 3, 'Y')],
     [(frozenset({(9, 'Y'), (2, 'Y'), (7, 'N'), (3, 'Y')}), 7, 'N'),
      (frozenset({(4, 'Y'), (0, 'Y'), (8, 'N'), (1, 'Y')}), 8, 'N')]]

result = []
for sub_list in x:
    # 提取当前子列表所有元组的最后一位标识
    flag_set = {tpl[-1] for tpl in sub_list}
    if flag_set == {'Y'}:
        result.append('Y')
    elif flag_set == {'N'}:
        result.append('N')
    else:
        result.append('U')

print(result)

运行输出

['Y', 'Y', 'N']

简化写法(一行列表推导式)

result = ['Y' if {t[-1] for t in s} == {'Y'} else 'N' if {t[-1] for t in s} == {'N'} else 'U' for s in x]

内容的提问来源于stack exchange,提问作者Chr_8580

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 23:06:00