a = ('one', 'two')
b = ('ten', 'ten')

z = [('four', 'five', 'six'), ('one', 'two', 'twenty')]

我正在尝试 1) 查看我的元组中的前两个元素(例如 a 或 b)是否与我的元组列表中的前两个元素 (z) 匹配。 2)如果有匹配,我想返回元组的第三个元素

所以我想得到
myFunc(a,z) -> 'twenty'
myFunc(b,z) -> None

最佳答案

使用生成器表达式和 next :

>>> a = ('one', 'two')
>>> b = ('ten', 'ten')
>>> z = [('four', 'five', 'six'), ('one', 'two', 'twenty')]
>>> next((x[2] for x in z if x[:2] == a), None)
'twenty'
>>> next((x[2] for x in z if x[:2] == b), None)
>>>

关于Python - 匹配,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20520579/

10-12 00:42