比较字符串与Python:X在['item1','item2',...]与X =='item1',X =='item2',...?

mar*_*oum 3 python string comparison performance list

我是Python的新手,在比较字符串时我对性能有疑问.下面的两个代码似乎达到了我想要的但是有没有理由使用其中一个而不是另一个?

选项1:

if first_column_header == 'author name' or first_column_header == 'author' or first_column_header == 'name':
Run Code Online (Sandbox Code Playgroud)

选项2:

if first_column_header in ['author name', 'author', 'name']:
Run Code Online (Sandbox Code Playgroud)

Pau*_* Bu 8

选项2肯定更短,更pythonic.它也可能会为您的代码增加更多的开销,因为它会创建一个列表然后遍历它.

这是一个你必须通过使程序更具可读性而接受的权衡,但是,恕我直言,这是太少的开销担心所以我将选择2.

希望这可以帮助!