繁体   English   中英

检查列表中的字符串/关键字

[英]Checking for a string/keyword in a list

我目前正在为一个游戏编写一段代码,该代码需要测试玩家的输入是否包含一个或两个特定的字符串。 我试图理解一些解释,但他们并没有确切地谈论我需要什么并且非常技术性。

到目前为止,我已经使用.split()将输入放入列表中,然后使用if keyword0 and keyword1 in list:因为我希望这样做,因此需要两个关键字)来引发响应。 我认为这个计划可能有缺陷,所以有人可以提出一个可以以某种方式用于实现这一目标的内置功能或一般想法吗?

代码if keyword0 and keyword1 in list:语法正在执行您想要的操作。 它正在检查条件if keyword0keyword1 in list if keyword0不是None或不是空字符串, if keyword0返回true。

if keyword0 in list and keyword1 in list:
    # do your work
    pass

或者

if all(key in list for key in [keyword0, keyword1]):
    # do your work
    pass

你不能用

if keyword0 and keyword1 in list:

由于它有效地评估为

if (keyword0) and (keyword1 in list):

keyword0评估为布尔值。 相反,请尝试:

if keyword0 in list and keyword1 in list:

请注意,如果您使用.split() ,那么您的字符串标记将包含标点符号之类的内容,这可能不是您想要的。 例如

>>> items = 'Hello, World!'.split()
>>> items
['Hello,', 'World!']
>>> 'Hello' in items
False
>>> 'Hello,' in items
True

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM