0

やろうと思っただけ

mylist = list(set(mylist))

からすべての重複エントリを削除しますmylist。ただし、ビルトインの連鎖は常に少しハックに感じます。リストから重複を排除する (最も) pythonic/zen な方法は何ですか?

検索中に、「重複を排除する」問題への回答として上記の構成が見つかりまし。これは悪い考えだと叫ぶ人は誰もいませんでしたが、それは答えを暗示しているだけであり、明示的は暗黙的よりも優れています。

上記の構成は、(ハッシュ可能な要素の) リストから重複を排除する方法ですか?

そうでない場合、何ですか?

4

1 に答える 1

2

簡潔で明示的でない場合、何かが Pythonic になるのはなぜですか? そして、これはまさにあなたのコードが行うことです:

uniq = list(set(dups))

リストをセットに変換します。これにより、セットには一意の値のみが含まれるため、重複が削除されます。その後、再びリストに戻します。目標を達成するためにビルトインを連鎖させることはハッキーではありません。みじめです。簡潔。エレガント。モジュールやライブラリには依存しません。各操作は、それが何をするかが明確です。意図は容易に理解できる。本当に、これは正しい解決策です。

于 2014-03-14T16:40:04.043 に答える