开发者

Python multiple comparisons style?

开发者 https://www.devze.com 2023-02-17 21:29 出处:网络
I am wondering if there is a way to do the following in a more compact style: if (text == \"Text1\" or text==\"Text2\" or text==\"Text3\" or text==\"Text4\"):

I am wondering if there is a way to do the following in a more compact style:

if (text == "Text1" or text=="Text2" or text=="Text3" or text=="Text4"):
    do_somethi开发者_如何学Pythonng()

The problem is i have more than just 4 comparisons in the if statement and it's starting to look rather long, ambiguous, and ugly. Any ideas?


How about this:

if text in ( 'Text1', 'Text2', 'Text3', 'Text4' ):
    do_something()

I've always found that simple and elegant.


The "if text in" answer is good, but you might also think about the re (regular expressions) package if your text strings fit a pattern. For example, taking your example literally, "Text" followed by a digit would be a simple regular expression.

Here's an example that should work for "Text" followed by a digit. the \Z matches the end of the string, the \d a digit.

if re.match('Text\d\Z', text):
   do_something()
0

精彩评论

暂无评论...
验证码 换一张
取 消