从元组获取备用值

时间:2018-07-14 07:25:00

标签: python data-structures

如何从元组中获取另一个(不匹配的值)?

例如:我有val = 'y'

t = ('y', 'n')

我想从元组返回'n'

if val=='y':
   return 'n'
else:
   retun 'y'

4 个答案:

答案 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