Найти - Пользователи
Полная версия: Упрощение условия (многократное or)
Начало » Python для новичков » Упрощение условия (многократное or)
1
r3m1x
Здравствуйте. Подскажите пожалуйста можно как-нибудь “упростить” условие?
if “1” in a or “2” in “a” or “3” in a or “4” in a or “5” in a or “6” in a or “7” in a…:
pass
else:
pass
apologize828
for x in map(str, range(1,8)):
if x in a: pass
else: pass
o7412369815963
any( map(lambda x:str(x) in a, xrange(1,8)) )
если это поиск символа в строке, то проще через regex
Virtuos86
Тогда уж лучше
any(str(x) in a for x in xrange(1, 8)).
Хотя способов много.
py.user.next
>>> s = 'abcd1defg2hijk'
>>> set(s) & set("1234567890")
{'1', '2'}
>>> set(s) & set("34567890")
set()
>>>
Isem
С множествами напрашивается само собой как наиболее естественное, но еще один оптимизированный вариант:
if any( c in a for c in '0123456789'):
pass
или
if any('0'<=c<='9' for c in a):
pass
r3m1x
Ребят, большое спасибо! )
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB