お願いします。2つのリストの交差点、結合、違いを見つけるためのループを作成しないでください| pythonicのヒント

Pythonでは、2つのリストの交差、結合、および相違を見つけることが頻繁に発生する要件であり、比較的簡単です。

考えるのが最も簡単なのは、ループを作成し、2つのリストを別々にループしてから、要素がもう一方のリストにあるかどうかを判断して、最終結果を取得することです。

しかし、この方法は比較的低く、技術的な内容はありません。 Pythonプログラマーとして、十分なpythonicコードを作成する必要があります。

あまりナンセンスではありません。コードを見てください。

# list_operate.py

def main():
 list_a =[1,2,3,4,5]
 list_b =[4,5,6,7,8]

 # 交差点を見つける2つの方法
 res_a =[i for i in list_a if i in list_b]
 res_b =list(set(list_a).intersection(set(list_b)))print(f"res_a is: {res_a}")print(f"res_b is: {res_b}")

 # 組合を探す
 res_c =list(set(list_a).union(set(list_b)))print(f"res_c is: {res_c}")

 # 差セットを見つける2つの方法、BではあるがAではない
 res_d =[i for i in list_b if i not in list_a]
 res_e =list(set(list_b).difference(set(list_a)))print(f"res_d is: {res_d}")print(f"res_e is: {res_e}")if __name__ =='__main__':main()

出力を見てください:

# python3 list_operate.py
res_a is:[4,5]
res_b is:[4,5]
res_c is:[1,2,3,4,5,6,7,8]
res_d is:[6,7,8]
res_e is:[8,6,7]

結果はまだ大丈夫です。虎のように操作しないでください。結果が間違っていると、恥ずかしい思いをします。

要約すると、基本的に2つのアイデアがあります。

  1. リスト式を使用する
  2. 組み込みのsetメソッドを使用して、リストに変換します

上記。

公式アカウント** AlwaysBeta **に従って、Pythonのヒントをさらに学んでください。

Recommended Posts

お願いします。2つのリストの交差点、結合、違いを見つけるためのループを作成しないでください| pythonicのヒント
[898] pythonは2つのリストの共通部分を取得します|ユニオン|違い
Python2とPython3の違いの簡単な要約
pythonで円の領域を見つける方法