在for循环中组织if语句以从字符串中提取特定数据

2024-05-29 04:05:37 发布

您现在位置:Python中文网/ 问答频道 /正文

我有以下几点

items=' g energy 4"3/4 drilling jar'
print(items.split())
if 'energy' or 'ge' in items.split():
    print('E')
if 'slb' or 'schlumberger' in items.split():
    print('S')
if 'oes' or 'overseas' in items.split():
    print('O')

output 
E
S
O

我想检查字符串中是否有任何单词,但我得到的是,它告诉我所有单词都在字符串中,我想检查单词,而不是单词的字符,我怎样才能做到这一点


Tags: or字符串inifitems单词jarenergy
1条回答
网友
1楼 · 发布于 2024-05-29 04:05:37

你对or的理解不太正确

如果我们让你们中的一个人if行:if 'slb' or 'schlumberger' in items.split()并使用print来评估它的真实性

#you are essentially saying this
print(bool('slb'))
#or this
print(bool('schlumberger' in items.split()))

输出

True
False

因此您可以看到'slb'将返回true而'schlumberger' in items.split()将返回false

当您使用or时,将首先计算or左侧的任何内容。由于'slb'返回true,因此or不会检查另一侧,只会说if为true并打印您的信函

相反,您需要检查用or分隔的项目中的每个字符串

items=' g energy 4"3/4 drilling jar'.split()
print(items)
if 'energy' in  items or 'ge' in items:
    print('E')
if 'slb' in items or 'schlumberger' in items:
    print('S')
if 'oes' in items or 'overseas' in items:
    print('O')

相关问题 更多 >

    热门问题