Python – 辞書から一意の値リストを抽出する方法
複数の辞書から重複しない値(ユニークな値)だけを抽出したい場合、Pythonでは「set」型の特性とリストメソッドを組み合わせ、シンプルな反復処理を行うことで実現できます。セットは重複する要素を自動的に排除するため、値の一意化に非常に便利です。
サンプルコード
以下に具体的な実装例を示します。
my_dictionary = [{'Python' : 11, 'is' : 22}, {'fun' : 11, 'to' : 33}, {'learn' : 22},{'object':9},{'oriented':11}]
print("The dictionary is : " )
print(my_dictionary)
my_result = list(set(value for element in my_dictionary for value in element.values()))
print("The resultant list is : ")
print(my_result)
print("The resultant list after sorting is : ")
my_result.sort()
print(my_result)出力結果
The dictionary is :
[{'Python': 11, 'is': 22}, {'fun': 11, 'to': 33}, {'learn': 22}, {'object': 9}, {'oriented': 11}]
The resultant list is :
[33, 11, 22, 9]
The resultant list after sorting is :
[9, 11, 22, 33]処理の解説
まず、複数の辞書を含むリストを定義し、コンソールに表示します。
ジェネレータ式を使って各辞書を反復処理し、すべての値(
values())にアクセスします。取得した値を
set()に渡すことで、重複する要素が自動的に除外され、一意の値のみが残ります。その後、
list()でセットをリストに変換し、変数に代入します。結果のリストをコンソールに出力して確認します。
最後に
sort()メソッドを使って昇順に並べ替え、再度コンソールに表示します。
ポイント
セットへの変換により重複除去が行われるため、元のデータの順序は保持されません。順序が重要な場合は、最後に sort() を呼び出すか、sorted() 関数を使って明示的に並べ替えることをおすすめします。また、値としてリストなどのハッシュ不可能なオブジェクトが含まれる場合は、この方法は使えないため注意が必要です。
-
Pythonで辞書の値(リスト)をクリアする2つの方法
この記事では、値としてリストを持つ辞書を扱い、そのリストの中身を空にする(クリアする)方法について解説します。アプローチは主に2つあります。ひとつは clear() メソッドを使う方法、もうひとつは辞書内包表記を使って各キーに空のリストを代入する方法です。方法1:ループと clear() メソッドを使うまず、辞書の各キーに対してループ処理を行い、値であるリストに対して clear() メソッドを呼び出します。この方法では元の辞書オブジェクトを保持したまま、リストの中身だけを空にできます。x1 = {Apple : [4,6,9,2], Grape : [7,8,2,1], Orange : [
-
Pythonリスト入門:作成から操作、削除まで徹底解説
このチュートリアルでは、Pythonのリスト(List)について学びます。リストの作成方法、要素へのアクセス、要素の追加・削除、リスト自体の削除など、基本的な操作を一つずつ丁寧に解説していきます。 Pythonでは、リストは角括弧 [] を使って構築し、各要素はカンマ , で区切って記述します。 Pythonのリストは、異なる型のオブジェクトを混在させて格納できるのが特徴です。すべて文字列である必要も、整数である必要もありません。例えば、以下のように複数の型が混ざったリストを作成できます。mixedTypesList = [a, True, 1, 1.0] リストの作成方法 リストは、角括弧