我有一個串列,在該串列中,我試圖通過要求用戶輸入一個單詞來查找該串列中的特定字串,然后我將列印該單詞以及它來自的行
這是一份清單
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!")
uj5u.com熱心網友回復:
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 條件的末尾添加一個中斷
uj5u.com熱心網友回復:
好吧,由于以下原因,它不起作用:-
- 變數
list只保存一個串列物件,第一個,其余 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!")
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/327230.html
上一篇:從二維串列中提取專案
