題目:2つのリスト、alist と blist
alist に存在しない blist と合わせて結果 alist にする。(マージする)
結果はソートする。
結果は alist にする。
alist = [ 'a', 'c', 'b' ] blist = [ 'c', 'd', 'e', 'a' ]
単純にすぐに書いてしまう原始的なコード
for e in blist: if e not in alist: alist.append(e) alist.sort() # ['a', 'b', 'c', 'd', 'e']
そうではなくて
内包表記でスマートに、、
alist += [ e for e in blist if e not in alist ] alist.sort()
いや、もっとシンプルに、
+演算子 でリストを結合してから set:集合 にして
重複を取り除いてから list() でリストに変換
alist = list(set(alist + blist)) alist.sort()