AtCoder ABC 191 B – Remove It Python解説

スポンサーリンク

Remove It

長さ N の整数列 A と整数 X が与えられます。
A から X と等しい要素を全て取り除き、残った要素をそのままの順序で並べた数列 A′を
出力してください。

AtCoder Beginner Contest 「Remove It」

配列AからXと等しい要素をすべて取り除く、というよりも、Xと等しくない要素で新しい配列を作っていきます。

n, x = map(int, input().split())
a = list(map(int, input().split()))

b = []

for i in a:
    if i != x:
        b.append(i)
        
print(*b)

配列Aの要素とXを比べて、要素が等しくない場合は配列bに追加していきます。
最後の出力時、配列bに*を付けることでアンパックしています。

n, x = map(int, input().split())
a = list(map(int, input().split()))

a = list(filter(lambda i: i != x, a))
print(*a)

こちらはfilter関数とlambda関数を使うことで、要素がxと等しくないものを選んでいます。

n, x = map(int, input().split())
a = list(map(int, input().split()))

print(" ".join([str(i) for i in a if i != x]))

上記のコードは最後の出力時joinを使い配列の要素を出力しています。