我有列出的兩個列表名單。我即將通過迭代他們並在相同位置尋找共同元素。更Python的方式去在名單
如果在 elements_to_check列表匹配列表中的任何元素,是不是在unique_list我添加它。
如果沒有元素匹配我想這個名單追加到not_match_list。
下面你有我的代碼示例。它幾乎可以工作。我不知道爲什麼最後在not_match_list中我已經[2,3,'d'](例如[2,3,'c']或[2,4'd']已經在unique_list中) 任何人都可以解釋爲什麼在not_match_list中有[2,3,'d']和/或者建議我如何重寫這個代碼更pythonic,請?
unique_list = [[1, 2, 'a'], [4, 2, 'b'], [1, 3, 'c'], [2, 3, 'c'], [2, 4, 'd']]
not_match_list = []
elements_to_check = [[2, 3, 'a'], [3, 4, 'a'], [4, 2, 'a'], [4, 2, 'a'], [2, 3, 'd'], [9, 9, 'z']]
print(unique_list)
for unique_element in unique_list:
for element_to_check in elements_to_check:
if element_to_check[0] == unique_element[0] and element_to_check not in unique_list:
unique_list.append(element_to_check)
elif element_to_check[1] == unique_element[1] and element_to_check not in unique_list:
unique_list.append(element_to_check)
elif element_to_check[2] == unique_element[2] and element_to_check not in unique_list:
unique_list.append(element_to_check)
elif element_to_check not in unique_list and element_to_check not in not_match_list:
not_match_list.append(element_to_check)
print(unique_list)
print(not_match_list)
預期的結果:
unique_list = [[1, 2, 'a'], [4, 2, 'b'], [1, 3, 'c'], [2, 3, 'c'], [2, 4, 'd'], [2, 3, 'a'], [3, 4, 'a'], [4, 2, 'a'], [2, 3, 'd']]
not_match_list = [[9, 9, 'z']]
我不完全明白你想要做什麼。你有兩個列表,你想在第三個列表中做什麼? – L3viathan
unique_list - 這是最終列表\ n \ n elements_to_check - 需要檢查的元素列表。如果任何元素與unique_list中的元素相同,並且此列表不在unique_elements中,則需要在該元素後面追加unique_list。 \ n \ n not_match_list - elements_to_check中的列表的列表,其中沒有任何具有唯一列表中的元素的公共元素 – Kacper
那麼該示例的答案是什麼? – ZWiki