代码如下:
a=['a','b','c']
for i in a:
if i == 'a' or 'b':
print(i)
按照我的逻辑思维, 这里的运行结果应该是
a
b
但是运行结果却是
a
b
c
运行环境python 3.9.6, 是为最新的稳定版本
代码如下:
a=['a','b','c']
for i in a:
if i == 'a' or 'b':
print(i)
按照我的逻辑思维, 这里的运行结果应该是
a
b
但是运行结果却是
a
b
c
运行环境python 3.9.6, 是为最新的稳定版本
你这个 if i == 'a' or 'b': 判断逻辑有问题,
不是你想象的i等于a或者等于b。
i == 'a' or 'b' 是用 or 分隔的 i == 'a' 和 'b' 两个条件表达式。
其中'b'是一个单独的条件表达式,'b'在条件判断时永远为真, or 两边是任何一边为真结果就是真,。
所以i == 'a' or 'b'表达式就是永远为真。
正确的是
if i == 'a' or i == 'b':
要简写可以这样子
if i in {'a','b'}:
这里用集合比用列表稍快一些。
如有帮助,望采纳!谢谢! 点击我这个回答右上方的【采纳】按钮