簡體   English   中英

Python 如何從列表中查找特定字符串並打印出該行?

[英]Python How to find a specific string from a list and print that line out?

我有一個列表,在該列表中,我試圖通過要求用戶輸入一個單詞來查找該列表中的特定字符串,然后我將打印該單詞以及它來自的行

這是一份清單

new_list = ['An American', 'Barack Obama', '4.7', '18979'],
['An Indian', 'Mahatma Gandhi', '4.7', '18979'],
['A Canadian', 'Stephen Harper', '4.6', '19234']

例如,如果我可以在字符串中輸入“ste”並且它應該打印第三行,因為“Stephen Harper”在那里

我試過這個,但沒有用:

find_String = input("Enter a string you're looking for: ")
if find_String in new_list:
   print(new_list)
else:
   print("String not found!")
arr = ['An American', 'Barack Obama', '4.7', '18979', 'An Indian', 'Mahatma Gandhi', '4.7', '18979',
    'A Canadian', 'Stephen Harper', '4.6', '19234']

inputStr = input("Enter String: ")

for val in arr:
    if inputStr in val:
        print(val);

這不是空安全

這還將打印具有指定子字符串的所有值,如果您只想要第一個,請在 if 條件的末尾添加一個中斷

好吧,由於以下原因,它不起作用:-

  1. 變量list只保存一個列表對象,第一個,其余 2 個不在變量中。
  2. 它不能用簡單的if語句完成,因為它必須遍歷list變量中的 3 個列表。

以下代碼將起作用:-

L1 = [['An American', 'Barack Obama', '4.7', '18979'],
['An Indian', 'Mahatma Gandhi', '4.7', '18979'],
['A Canadian', 'Stephen Harper', '4.6', '19234']]

find_String = input("Enter a string you're looking for: ")

for data in L1:
   for string in data:
      if find_String.lower() in string.lower():
         print(data)
         exit(0)
else:
   print("String not found!")

暫無
暫無

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

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