Python 在字符串中搜索几个选项(如果..in)
所以我要做的是检查字符串是否包含许多选项中的一个。 假设我有一个Python 在字符串中搜索几个选项(如果..in),python,Python,所以我要做的是检查字符串是否包含许多选项中的一个。 假设我有一个列表[“瓶子”、“相机”、“蛋糕”],我试图检查字符串是否包含列表中的一个选项 我知道可以使用 if "bottle" in string..., 但是我如何在几乎没有选择的情况下做同样的事情呢 我希望我能把我的问题说清楚,谢谢!:) 您可以使用: 您可能需要拆分以避免出现类似foo处于foobarst.split() any将在字符串中找到单词列表中的任何单词时短路。您可以使用: 您可能需要拆分以避免出现类似foo处于fooba
列表[“瓶子”、“相机”、“蛋糕”]
,我试图检查字符串是否包含列表中的一个选项
我知道可以使用
if "bottle" in string...,
但是我如何在几乎没有选择的情况下做同样的事情呢
我希望我能把我的问题说清楚,谢谢!:) 您可以使用:
您可能需要拆分以避免出现类似foo
处于foobar
st.split()
any
将在字符串中找到单词列表中的任何单词时短路。您可以使用:
您可能需要拆分以避免出现类似foo
处于foobar
st.split()
any
将在字符串中找到单词列表中的任何单词时短路。您可以使用:
测试是否选项
是给定项目到测试
的超集,而可用于查看要测试的项目中是否至少使用了选项
集中的一个项目
即使给定的\u项到\u测试本身不是一个集合,而只是一个列表或元组,这种方法仍然有效:
>>> options = {'bottle', 'camera', 'cake'}
>>> given_items_to_test = ['bottle']
>>> options.issuperset(given_items_to_test)
True
>>> given_items_to_test = ['bike']
>>> options.issuperset(given_items_to_test)
False
>>> given_items_to_test = ['bottle', 'camera']
>>> options.issuperset(given_items_to_test)
True
>>> given_items_to_test = ['bottle', 'camera', 'bike']
>>> options.issuperset(given_items_to_test)
False
>>> options.intersection(given_items_to_test)
set(['camera', 'bottle'])
您可以使用:
测试是否选项
是给定项目到测试
的超集,而可用于查看要测试的项目中是否至少使用了选项
集中的一个项目
即使给定的\u项到\u测试本身不是一个集合,而只是一个列表或元组,这种方法仍然有效:
>>> options = {'bottle', 'camera', 'cake'}
>>> given_items_to_test = ['bottle']
>>> options.issuperset(given_items_to_test)
True
>>> given_items_to_test = ['bike']
>>> options.issuperset(given_items_to_test)
False
>>> given_items_to_test = ['bottle', 'camera']
>>> options.issuperset(given_items_to_test)
True
>>> given_items_to_test = ['bottle', 'camera', 'bike']
>>> options.issuperset(given_items_to_test)
False
>>> options.intersection(given_items_to_test)
set(['camera', 'bottle'])
非常感谢你,伙计!:)非常感谢你,伙计!:)我正在尝试检查字符串是否包含列表中的一个选项。:因此我猜测set(options)。交叉点(the_string.split())
就足够了,它没有描述的行为;这是在检查他们的字符串是否只包含单词列表中的单词。@HaldeanBrown:啊,对不起,误读了你的评论。添加了交叉选项。@JonClements:是的,你是对的,我不清楚。我正在尝试检查字符串是否包含列表中的选项之一。:所以我猜set(options)。交叉(the_string.split())
足够了,这没有描述的行为;这是在检查他们的字符串是否只包含单词列表中的单词。@HaldeanBrown:啊,对不起,误读了你的评论。添加了交叉点选项。@JonClements:是的,你是对的,我不清楚。
options = {'bottle', 'camera', 'cake'}
if options.issuperset(given_items_to_test):
# all items in given_items_to_test are found in options
if options.intersection(given_items_to_test):
# at least one item in given_items_to_test is found in options
>>> options = {'bottle', 'camera', 'cake'}
>>> given_items_to_test = ['bottle']
>>> options.issuperset(given_items_to_test)
True
>>> given_items_to_test = ['bike']
>>> options.issuperset(given_items_to_test)
False
>>> given_items_to_test = ['bottle', 'camera']
>>> options.issuperset(given_items_to_test)
True
>>> given_items_to_test = ['bottle', 'camera', 'bike']
>>> options.issuperset(given_items_to_test)
False
>>> options.intersection(given_items_to_test)
set(['camera', 'bottle'])