私はリストの2つのリストを持っています。私はそれらを繰り返し、同じ位置で共通の要素を探しています。リストの一覧に行くためのもっとpythonic方法
elements_to_checkリストのリストのいずれかの要素が一致し、unique_listにない場合は、それをそこに追加します。
要素が1つも一致しない場合は、このリストをnot_match_listに追加します。
以下に、私のコード例を示します。それはほとんど動作します。なぜ[2、3、 'd'](例えば[2、3、 'c']や[2,4、d ']が既にunique_listに入っているか)not_match_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']]
私はあなたのやりたいことを十分に理解していません。 2つのリストがあり、3番目のリストには何が必要ですか? – L3viathan
unique_list - 最終的なリストです。\ n \ n element_to_check - チェックする必要のある要素のリストです。ある要素がunique_listの要素と共通であり、そのようなリストがunique_elementsにない場合、その要素でunique_listを追加する必要があります。 \ n \ n not_match_list - ユニークリスト内の要素と共通の要素を持たないelements_to_checkからのリストのリスト – Kacper
この例の答えはどうでしょうか? – ZWiki