![](/img/trans.png)
[英]How do i use difflib to return a list by searching for an element in the list?
[英]How do I iterate searching for a list element in another list in Python?
我想在 banklist 中搜索 namelist 的元素,如果在 banklist 中找到一個元素,則返回該元素以及它之后的元素。
例如:名單:'John Doe','Jack Black'。 銀行名單:“John Doe”、“9134”、“Richard Pitt”、“1652”、“Jack Black”、“9145”、“Bob Brand”、“6523”
我想要這個返回:'John Doe,9134','Jack Black,9145'
為此,我寫了以下內容。 它可以工作,但我不知道如何迭代它,以便它搜索所有重疊的元素,而不是在第一個元素之后停止。
結果:“John Doe,9134”。 期望的結果:“John Doe,9134”、“Jack Black,9145”。
f = open('namelist.txt', 'r')
namestring = f.read()
f.close()
f = open('testsheet.csv', 'r')
bankstring = f.read()
f.close()
namestring = namestring.replace(", ", ",")
namelist = namestring.split(",")
banklist = bankstring.split("\n")
bankstring = ','.join(banklist)
banklist = bankstring.split(",")
n = banklist.index(namelist[1])
res = banklist[n] + "," + banklist[n+1]
print(res)
簡化問題,使用bank_list
上的enumerate
並打印名稱和數字(如果其中的元素存在於name_list
中):
name_list = ['John Doe', 'Jack Black']
bank_list = ['John Doe', '9134', 'Richard Pitt', '1652', 'Jack Black', '9145', 'Bob Brand', '6523']
for ind, elem in enumerate(bank_list):
if elem in name_list:
print(elem, bank_list[ind + 1])
OUTPUT:
John Doe 9134
Jack Black 9145
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.