[解決済み] 辞書から最小の要素(複数可)を削除する
2022-02-07 13:21:30
質問
パラメータとして辞書があり、関連する値が整数であるような関数があります。最小限の要素を削除して、残りのキーのセットを返したいのですが。
私はパイソンでプログラミングをしています。私は同じキーまたは値を持つキーと値のペアを削除することができないようです。私のコードは、2番目と3番目の例では動作しません。 このように動作するようになります。
remaining({A: 1, B: 2, C: 2})
{B, C}
remaining({B: 2, C : 2})
{}
remaining({A: 1, B: 1, C: 1, D: 4})
{D}
これが私の持っているものです。
def remaining(d : {str:int}) -> {str}:
Remaining = set(d)
Remaining.remove(min(d, key=d.get))
return Remaining
解決方法は?
一つの方法として、最小値を取り、それと等しいキーのリストを作り
dict.viewkeys()
は集合のような振る舞いをし、そこから最小値にマッチするキーを削除します。
d = {'A': 1, 'B': 1, 'C': 1, 'D': 4}
# Use .values() and .keys() and .items() for Python 3.x
min_val = min(d.itervalues())
remaining = d.viewkeys() - (k for k, v in d.iteritems() if v == min_val)
# set(['D'])
余談ですが、変な話ですが
{B: 2, C : 2}
は
{}
というのも、これらを最小値とするには、実はそれ以上のものがないからです。
関連
-
Python カメの描画コマンドとその例
-
Pythonの@decoratorsについてまとめてみました。
-
[解決済み] 辞書を値で並べ替えるにはどうしたらいいですか?
-
[解決済み] Pythonで辞書に新しいキーを追加するにはどうすればよいですか?
-
[解決済み] 与えられたキーがすでに辞書に存在するかどうかをチェックする
-
[解決済み] Pythonの辞書からキーを削除するにはどうしたらいいですか?
-
[解決済み] 辞書のリストを辞書の値でソートするにはどうしたらいいですか?
-
[解決済み] インデックスを指定してリストから要素を削除する方法
-
[解決済み] 辞書から要素を削除する
-
[解決済み】辞書内の最小値に対応するキーを取得する
最新
-
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サイクルタスクスケジューリングツール スケジュール詳解
-
Python interpreted model libraryによる機械学習モデル出力の可視化 Shap
-
Python Pillow Image.save jpg画像圧縮問題
-
[解決済み】TypeError: unhashable type: 'numpy.ndarray'.
-
[解決済み] データ型が理解できない
-
[解決済み】csv.Error:イテレータはバイトではなく文字列を返すべき
-
[解決済み】 AttributeError: モジュール 'matplotlib' には属性 'plot' がない。
-
[解決済み】syntaxError: 'continue' がループ内で適切に使用されていない
-
[解決済み】Python elifの構文が無効です【終了しました
-
[解決済み】Python: SyntaxError: キーワードは式になり得ない