Python3 переключение между двумя строками - PullRequest
0 голосов
/ 07 июня 2018

Есть ли более элегантный способ переключения между двумя строками или целыми числами в Python 3?

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

Значения могут быть не булевыми, такими как строка или целое число.Давайте предположим, что мы хотим переключаться между «A» и «B», а имя переменной - x.

Другими словами: если x = "A", то результат должен быть x = "B", а если x = "B", торезультат должен быть x = "A".

ввод:

x="B"

вывод:

x="A"

Ответы [ 2 ]

0 голосов
/ 07 июня 2018

Использование dict уже довольно умно.Вот альтернатива:

x = 'B' if x == 'A' else 'A'
0 голосов
/ 07 июня 2018

Вы можете написать что-то вроде этого:

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'}
...