开发者

Python multiple comparisons style?

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

上一篇:

下一篇:

精彩评论

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

最新问答

问答排行榜