Size: a a a

Сообщество Python Программистов

2020 March 27

AT

Alexander T in Сообщество Python Программистов
Андрій
Если мне нужно в условии сравнить переменную с рядом значений (грубно говоря if x == a or b or c) Можно как то это записать по-короче чем if x == b or x == c or x == ....
import operator as op
from functools import partial, reduce
a, b, c = 1, 2, 3
x = 2
cond = reduce(op.or_, map(partial(op.eq, x), [a, b, c]))
print(cond)
источник

AT

Alexander T in Сообщество Python Программистов
простите если у кого эпилепсия начнется
источник

А

Андрій in Сообщество Python Программистов
Ого)
источник

AT

Alexander T in Сообщество Python Программистов
всех с пятницей и началом “выходных”
источник

БГ

Бензофуран Гетероцик... in Сообщество Python Программистов
Alexander T
import operator as op
from functools import partial, reduce
a, b, c = 1, 2, 3
x = 2
cond = reduce(op.or_, map(partial(op.eq, x), [a, b, c]))
print(cond)
Что это
источник

AT

Alexander T in Сообщество Python Программистов
это более универсальное решение, которое позволяет не только x ==, а любые сравнения и функции такого рода
источник

AT

Alexander T in Сообщество Python Программистов
когда надо x op (a or b or c)
источник

AT

Alexander T in Сообщество Python Программистов
я просто не люблю all()
источник

БГ

Бензофуран Гетероцик... in Сообщество Python Программистов
Alexander T
когда надо x op (a or b or c)
А оно не сделает сначала приведение к bool и or a, b, c?
источник

AT

Alexander T in Сообщество Python Программистов
Бензофуран Гетероцикл
А оно не сделает сначала приведение к bool и or a, b, c?
оно сделает три була соединенных or
источник

R3

Rud 356 in Сообщество Python Программистов
Rud 356
if x in {a, b, c}
А это чем плохо?
источник

AT

Alexander T in Сообщество Python Программистов
ничем не плохо для случая оператора ==
источник

AT

Alexander T in Сообщество Python Программистов
с функциональщиной проще заменить or на and, и == на что угодно, ну вы не обращайте внимания на наркоманию, carry on.
источник

БГ

Бензофуран Гетероцик... in Сообщество Python Программистов
Alexander T
оно сделает три була соединенных or
И будет x op (bool(a), ...)
источник

AT

Alexander T in Сообщество Python Программистов
нет
источник

А

Андрій in Сообщество Python Программистов
Ещё один вопрос, в методах класса передавать переменные, как я передал
flag

нельзя? Мне ошибку выдает прост)
источник

AT

Alexander T in Сообщество Python Программистов
Андрій
Ещё один вопрос, в методах класса передавать переменные, как я передал
flag

нельзя? Мне ошибку выдает прост)
а есть такое чтоб не надо было скачивать картинку, открывать ее, и тп?
источник

R3

Rud 356 in Сообщество Python Программистов
А можно еще раз скрин, но нормально, пжалста?
источник

А

Андрій in Сообщество Python Программистов
так?
источник

AT

Alexander T in Сообщество Python Программистов
Бензофуран Гетероцикл
И будет x op (bool(a), ...)
eq(x, a) or eq(x, b)… будет
источник