簡體   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