gpt4 book ai didi

python - 在 python 中对字符串进行冗长的 boolean 搜索

转载 作者:行者123 更新时间:2023-11-28 21:25:35 24 4
gpt4 key购买 nike

我试图在一组字符串中搜索一组特定的单词,并在满足各种 boolean 条件时执行一些操作。我目前有一种可行的方法,但我希望有一种比我现有的方法更优雅的方法。

strings = ['30 brown bears', '30 brown foxes', '20 green turtles', 
'10 brown dogs']

for text in strings:
if ('brown' in text) and ('bear' not in text) and ('dog' not in text):
print text

这会按预期工作并打印出 30 brown foxes。然而,让我担心的是在搜索中添加更多术语。例如,如果在 if-statement 中添加'cat'、'mouse'、'rabbit' 等会怎样?这似乎是处理事情的一种笨拙且非 Pythonic 的方式,所以我希望有人有不同的方式来完成这项工作。

最佳答案

我怀疑这是最好的方法,但您可以做的一件事是将 all 与其他两个控制对象结合使用 - 一个包含您想要包含的项目 (brown,在这种情况下),以及其他包括您想要忽略的内容:

In [1]: strings = ['30 brown bears', '30 brown foxes', '20 green turtles', '10 brown dogs']

In [2]: keep = ('brown')

In [3]: ignore = ('bear', 'dog')

In [4]: for text in strings:
...: if all([k in text for k in keep] + [i not in text for i in ignore]):
...: print text
...:
...:
30 brown foxes

关于python - 在 python 中对字符串进行冗长的 boolean 搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14060741/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com