簡體   English   中英

檢查字符串是否在 python 列表中

[英]Check if string is in list with python

我是 python 的新手,我正在嘗試檢查字符串是否在列表中。

我有這兩個變量:

 new_filename: 'SOLICITUDES2_20201206.DAT'  (str type)
 

 downloaded_files:
   [['SOLICITUDES-20201207.TXT'], ['SOLICITUDES-20201015.TXT'], ['SOLICITUDES2_20201206.DAT']] (list type)

為了檢查字符串是否在列表中,我使用以下內容:

   if new_filename in downloaded_files:
       print(new_filename,'downloaded')

我從來沒有進入過如果。

但如果我也這樣做,但使用硬編碼文本,它會起作用:

    if ['SOLICITUDES2_20201206.DAT'] in downloaded_files_list:
        print(new_filename,'downloaded')

我究竟做錯了什么?

謝謝!

您的downloaded_files是列表列表。 列表可以包含它內部的任何內容,數字、列表、字典、字符串等。如果您試圖查找您的字符串是否在列表中, if語句將只查找相同的匹配項,即字符串。

我建議你做的是將所有字符串放入一個列表而不是列表列表中。 您可以使用列表推導來做到這一點:

downloaded_files = [['SOLICITUDES-20201207.TXT'], ['SOLICITUDES-20201015.TXT'], ['SOLICITUDES2_20201206.DAT']]

downloaded_files_list = [file[0] for file in downloaded_files]

然后,您的if語句應該可以工作:

new_filename = 'SOLICITUDES2_20201206.DAT'

if new_filename in downloaded_files_list:
   print(new_filename,'downloaded')

您的代碼詢問一個字符串是否在單個字符串的列表列表中 each ,這就是它找不到任何字符串的原因。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM