Python3 在两个字符串之间切换

Python3 toggle between two strings

在 Python 3 中有没有更优雅的方式来切换两个字符串或整数?

x={"A":"B", "B":"A"}[x]

值可以是非布尔值,例如字符串或整数。 假设我们要在 "A" 和 "B" 之间切换,变量名称是 x.

换句话说:如果 x = "A" 那么结果应该是 x = "B" 如果 x = "B" 那么结果应该是 x = "A".

输入:

x="B"

输出:

x="A"

你可以这样写:

def toggle(x):
    x['A'], x['B'] = x['B'], x['A']

x = {'A': 'B', 'B': 'A'}

或者那个:

def toggle(x):
    x.update(dict(zip(x.keys(), list(x.values())[::-1])))

x = {'A': 'B', 'B': 'A'}

print(x)
toggle(x)
print(x)
toggle(x)
print(x)

输出:

{'A': 'B', 'B': 'A'}
{'A': 'A', 'B': 'B'}
{'A': 'B', 'B': 'A'}

使用字典已经很聪明了。这是一个替代方案:

x = 'B' if x == 'A' else 'A'