[英]Checking for a string/keyword in a list
我目前正在為一個游戲編寫一段代碼,該代碼需要測試玩家的輸入是否包含一個或兩個特定的字符串。 我試圖理解一些解釋,但他們並沒有確切地談論我需要什么並且非常技術性。
到目前為止,我已經使用.split()
將輸入放入列表中,然后使用if keyword0 and keyword1 in list:
因為我希望這樣做,因此需要兩個關鍵字)來引發響應。 我認為這個計划可能有缺陷,所以有人可以提出一個可以以某種方式用於實現這一目標的內置功能或一般想法嗎?
代碼if keyword0 and keyword1 in list:
語法正在執行您想要的操作。 它正在檢查條件if keyword0
和keyword1 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.