在我的 Python 代碼中有 3 個串列:
ListIterationData = ["01-2021", "02-2021"]
ListOne = ["FileName1-01-2021", "FileName1-02-2021", "FileName1-03-2021", "FileName1-04-2021"]
ListTwo = ["Filename2-01-2021", "Filename2-05-2021"]
用例:作為用戶,我想遍歷“ListIterationData”中的專案,并在以 ListIterationData[i] 結尾的“ListOne”和“ListTwo”中找到匹配的專案。“ListIterationData”中的專案將用作“ListOne”和“ListTwo”中的匹配模式。就像是:
ListOne_Filtered = []
ListTwo_Filtered = []
For item in ListIteration Data:
if item in ListOne endswith ListIterationData[i] AND item in ListTwo endswith ListIterationData[i]
Then append both ListOne_Filtered and ListOne_Filtered
以下是我的預期結果:
ListOne_Filtered = ["FileName1-01-2021"]
ListTwo_Filtered = ["Filename2-01-2021"]
非常感謝您的幫助
uj5u.com熱心網友回復:
你可以用正則運算式解決這個問題:
ListIterationData = ["01-2021", "02-2021"]
ListOne = ["FileName1-01-2021", "FileName1-02-2021", "FileName1-03-2021", "FileName1-04-2021"]
ListTwo = ["Filename2-01-2021", "Filename2-05-2021"]
list_one_filtered = []
list_two_filtered = []
for item in ListIterationData:
for file_one, file_two in zip(ListOne, ListTwo):
if re.search(item "$", file_one) and re.search(item "$", file_two):
list_one_filtered.append(file_one)
list_two_filtered.append(file_two)
print(list_one_filtered) # ['FileName1-01-2021']
print(list_two_filtered) # ['Filename2-01-2021']
因此,遍歷您的迭代資料,并同時遍歷串列一和串列二,然后使用"$"符號作為錨點檢查兩個檔案是否以所需結尾結尾的正則運算式。
uj5u.com熱心網友回復:
試試這個:
ListOne_Filtered, ListTwo_Filtered = [], []
for i in range(min(len(ListIterationData), len(ListOne), len(ListTwo))):
if ListOne[i].endswith(ListIterationData[i]) and ListTwo[i].endswith(ListIterationData[i]):
ListOne_Filtered.append(ListOne[i])
ListTwo_Filtered.append(ListTwo[i])
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/387629.html
下一篇:Pandas-創建具有唯一值的組
