if "a" or "b" or "c" in x: print (x) print ("a" or "b" or "c")在這里,我想打印出現(xiàn)在字符串中的子字符串 a 或 b 或 c 并希望對其進行一些操作。那么哪個變量存儲子字符串呢?
3 回答

至尊寶的傳說
TA貢獻1789條經(jīng)驗 獲得超10個贊
錯誤的條件
首先"a" or "b" or "c" in x不檢查字符串中是否有任何這些字符。它檢查每個表達式的真實性,立即停止在"a"哪個是真實的。
相反,你想要這個條件:
if 'a' in x or 'b' in x or 'c' in x:
也可以用any.
if any(c in x for c in ('a', 'b', 'c')):
尋找子串
至于你的問題,以上都不會跟蹤x在表達式中找到哪個子字符串是True. 你需要自己做。
chars = ('a', 'b', 'c')
found_char = next((c for c in chars if c in x), False)
if found_char:
...

森林海
TA貢獻2011條經(jīng)驗 獲得超2個贊
嘗試對這種事情使用正則表達式。
>>> import re
>>> re.findall('[abc]', 'foobaz')
['b', 'a']
請注意,表達式"a" or "b" or "c" in x只是'a'.
添加回答
舉報
0/150
提交
取消