[解決済み] リスト内の重複を見つけ、それを含む別のリストを作成するにはどうすればよいですか?
2022-03-17 14:59:27
質問
Pythonのリストで重複を見つけ、その重複の別のリストを作成するにはどうすればよいですか?このリストには整数しか含まれていません。
どのように解決するのですか?
重複を排除するには
set(a)
. 重複を印刷するには、次のようなもの。
a = [1,2,3,2,1,5,6,5,5,5]
import collections
print([item for item, count in collections.Counter(a).items() if count > 1])
## [1, 2, 5]
なお
Counter
は特に効率的ではありません (
タイミング
) で、おそらくここではやりすぎでしょう。
set
の方が性能が良い。このコードは、ソースの順序でユニークな要素のリストを計算します。
seen = set()
uniq = []
for x in a:
if x not in seen:
uniq.append(x)
seen.add(x)
または、もっと簡潔に
seen = set()
uniq = [x for x in a if x not in seen and not seen.add(x)]
後者のスタイルはあまりお勧めしません。
not seen.add(x)
は何をしているのか(セット
add()
メソッドは常に
None
そのため
not
).
ライブラリなしで、重複する要素のリストを計算すること。
seen = set()
dupes = []
for x in a:
if x in seen:
dupes.append(x)
else:
seen.add(x)
または、もっと簡潔に
seen = set()
dupes = [x for x in a if x in seen or seen.add(x)]
リスト要素がハッシュ可能でない場合、sets/dictsは使用できず、2次時間の解決策に頼らざるを得ない(各々を比較する)。例えば
a = [[1], [2], [3], [1], [5], [3]]
no_dupes = [x for n, x in enumerate(a) if x not in a[:n]]
print no_dupes # [[1], [2], [3], [5]]
dupes = [x for n, x in enumerate(a) if x in a[:n]]
print dupes # [[1], [3]]
関連
-
opencvとpillowを用いた顔認証システム(デモあり)
-
Pythonコードの可読性を向上させるツール「pycodestyle」の使い方を詳しく解説します
-
FacebookオープンソースワンストップサービスpythonのタイミングツールKats詳細
-
[解決済み] 関数デコレータを作成し、それらを連鎖させるには?
-
[解決済み] リストのリストからフラットなリストを作るには?
-
[解決済み] リスト内のアイテムのインデックスを検索する
-
[解決済み] Pythonのリストメソッドであるappendとextendの違いは何ですか?
-
[解決済み] 割り当て後にリストが予期せず変更されました。その理由と防止策を教えてください。
-
[解決済み] リストの最後の要素を取得する方法
-
[解決済み】2つの辞書を1つの式でマージする(辞書の和をとる)には?)
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
python call matlab メソッドの詳細
-
Python機械学習Githubが8.9Kstarsに達したモデルインタープリタLIME
-
Python百行で韓服サークルの画像クロールを実現する
-
Evidentlyを用いたPythonデータマイニングによる機械学習モデルダッシュボードの作成
-
Python Pillow Image.save jpg画像圧縮問題
-
Pythonの画像ファイル処理用ライブラリ「Pillow」(グラフィックの詳細)
-
[解決済み】TypeErrorの修正方法。Unicodeオブジェクトは、ハッシュ化する前にエンコードする必要がある?
-
[解決済み】終了コード -1073741515 (0xC0000135)でプロセス終了)
-
[解決済み】 AttributeError("'str' object has no attribute 'read'")
-
[解決済み】IndexError: invalid index to scalar variableを修正する方法