Сопоставьте значение, если оно является подмножеством набора ключей.Python

Программы на Python
Ответить
Anonymous
 Сопоставьте значение, если оно является подмножеством набора ключей.

Сообщение Anonymous »

если у меня есть следующий код:

Код: Выделить всё

if value == key1:
return value1
elif value == key2:
return value2
...
Очевидно, я могу упростить это с помощью dict

Код: Выделить всё

d = { key1: value1, key2: value2, ...}
return d[value]
Сейчас у меня есть нечто подобное с наборами:

Код: Выделить всё

if value in { key1, key2, key3...}:
return value1
elif value in { key4, key5, key6...}:
return value2
...
Мне интересно, есть ли способ упростить это, или цепочка if-elif лучше? Я мог бы сделать что-нибудь с преобразованием замороженных наборов в значения и найти первое значение, которому принадлежит значение, используя next и выражение-генератор, но это становится слишком «умным».
Обратите внимание, что я не обязательно ищу однострочник, просто если для этого есть лучший шаблон.

Подробнее здесь: https://stackoverflow.com/questions/798 ... -a-key-set
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»