如何从元组中获取另一个(不匹配的值)?
例如:我有val = 'y'
和t = ('y', 'n')
我想从元组返回'n'
。
if val=='y':
return 'n'
else:
retun 'y'
答案 0 :(得分:5)
您可以使用以下语句:
return t[0] if val == 'y' else t[1]
您还可以索引到元组:
return t[val == 'n']
答案 1 :(得分:1)
使用True == 1和False == 0的事实:
t = ('y', 'n')
def other(t, val):
return t[t[0]==val]
print(other(t, 'y'))
print(other(t, 'n'))
# n
# y
答案 2 :(得分:0)
您可以解压缩元组的数据并使用条件:
# if there is 2 elements in your tuple
# Otherwise:
# a, b, *c = ('n', 'y', 'c', ...)
a, b = ('n', 'y')
return a if a == 'y' else b
答案 3 :(得分:0)
另一个好的解决方案是使用字典:
d={'y':t[0]}
return d.get(val,t[1])
输出:
y