リストの辞書から一意の値のセットを取得します

MarkS

辞書のリストがあり、辞書にもリストが含まれています。

setそれぞれのネストされたリストの値のを生成して、すべての一意のアイテム(この場合は趣味)のセットを作成したいと思います。

set重複があれば自動的に削除され、ユニークな趣味のセットがすべて残るので、これには完璧だと思います。

people = [{'name': 'John', 'age': 47, 'hobbies': ['Python', 'cooking', 'reading']},
          {'name': 'Mary', 'age': 16, 'hobbies': ['horses', 'cooking', 'art']},
          {'name': 'Bob', 'age': 14, 'hobbies': ['Python', 'piano', 'cooking']},
          {'name': 'Sally', 'age': 11, 'hobbies': ['biking', 'cooking']},
          {'name': 'Mark', 'age': 54, 'hobbies': ['hiking', 'camping', 'Python', 'chess']},
          {'name': 'Alisa', 'age': 52, 'hobbies': ['camping', 'reading']},
          {'name': 'Megan', 'age': 21, 'hobbies': ['lizards', 'reading']},
          {'name': 'Amanda', 'age': 19, 'hobbies': ['turtles']},
          ]

unique_hobbies = (item for item in people['hobbies'] for hobby in people['hobbies'].items())

print(unique_hobbies)

これはエラーを生成します:

TypeError: list indices must be integers or slices, not str

私の理解は間違っていますが、どこにあるのかわかりません。各辞書を繰り返し処理してから、ネストされた各リストを繰り返し処理し、アイテムをセットに更新します。これにより、すべての重複が削除され、すべての固有の趣味のセットが残ります。

MSeifert

セット内包表記を使用することもできます。

>>> unique_hobbies = {hobby for persondct in people for hobby in persondct['hobbies']}
>>> unique_hobbies
{'horses', 'lizards', 'cooking', 'art', 'biking', 'camping', 'reading', 'piano', 'hiking', 'turtles', 'Python', 'chess'}

あなたの理解の問題は、あなたがアクセスしたいpeople['hobbies']peopleリストであり、整数またはスライスを持つリストにしかインデックスを付けることができないということですそれを機能させるには、リストを繰り返し処理してから'hobbies'、各サブディクトにアクセスする必要があります(上記の集合の内包的包絡法の中で行ったように)。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

セットの辞書で一意の値を取得する

分類Dev

Python-リストの辞書を一意の値にフラット化しますか?

分類Dev

(一意の値を持つ)辞書のリストから重複を削除します

分類Dev

一連の辞書から一意の辞書を取得しますか?

分類Dev

Linqを使用して2つの辞書リストから一意の値を取得するにはどうすればよいですか?

分類Dev

キーごとに複数の一意の値を持つ文字列のリストから3レベルの辞書を作成します

分類Dev

一意のキーと値のリストを使用して、2つの列から辞書を作成します

分類Dev

リストから一意の値を取得する

分類Dev

Python:Json辞書のリストから値を取得します

分類Dev

辞書のリストから値のリストを取得しますか?

分類Dev

Django Rest Framework:ネストされた構造から値の一意のリストを取得します

分類Dev

Django Rest Framework:ネストされた構造から値の一意のリストを取得します

分類Dev

Excelの範囲から一意の値のリストを作成します

分類Dev

どのように特定の順序でリストから一意の値を取得しますか?

分類Dev

2番目のリストから一意の要素を取得します

分類Dev

botoを使用してdynamodbから一意のハッシュキー値のリストを取得する

分類Dev

一意の値の範囲から多次元リストを作成します

分類Dev

値のリストを含む列から一意の値を取得する

分類Dev

特定のキーの値の一意性に基づいて、辞書のリストから重複する辞書を削除する

分類Dev

リストのPython辞書-一意の値を持つキーを返す

分類Dev

リストのリスト内の各リストから一意の要素を取得します

分類Dev

リストのリストから一意の要素の制約付きリストを取得します

分類Dev

パンダはリストの列から一意の値を取得します

分類Dev

List <Map <K、V >>からList <V>への変換(マップのリストからすべての一意の値を取得します)

分類Dev

各項目が空の一意のリストのリストである辞書を初期化します

分類Dev

Javaは、順序付けられていないオブジェクト/値のセット/リストから一意のIDを生成します

分類Dev

リストC#から一意の値のみを取得する方法

分類Dev

Go:一意の乱数のセットを取得します

分類Dev

辞書のリストの値がキーなしで一意であるかどうかを確認します

Related 関連記事

  1. 1

    セットの辞書で一意の値を取得する

  2. 2

    Python-リストの辞書を一意の値にフラット化しますか?

  3. 3

    (一意の値を持つ)辞書のリストから重複を削除します

  4. 4

    一連の辞書から一意の辞書を取得しますか?

  5. 5

    Linqを使用して2つの辞書リストから一意の値を取得するにはどうすればよいですか?

  6. 6

    キーごとに複数の一意の値を持つ文字列のリストから3レベルの辞書を作成します

  7. 7

    一意のキーと値のリストを使用して、2つの列から辞書を作成します

  8. 8

    リストから一意の値を取得する

  9. 9

    Python:Json辞書のリストから値を取得します

  10. 10

    辞書のリストから値のリストを取得しますか?

  11. 11

    Django Rest Framework:ネストされた構造から値の一意のリストを取得します

  12. 12

    Django Rest Framework:ネストされた構造から値の一意のリストを取得します

  13. 13

    Excelの範囲から一意の値のリストを作成します

  14. 14

    どのように特定の順序でリストから一意の値を取得しますか?

  15. 15

    2番目のリストから一意の要素を取得します

  16. 16

    botoを使用してdynamodbから一意のハッシュキー値のリストを取得する

  17. 17

    一意の値の範囲から多次元リストを作成します

  18. 18

    値のリストを含む列から一意の値を取得する

  19. 19

    特定のキーの値の一意性に基づいて、辞書のリストから重複する辞書を削除する

  20. 20

    リストのPython辞書-一意の値を持つキーを返す

  21. 21

    リストのリスト内の各リストから一意の要素を取得します

  22. 22

    リストのリストから一意の要素の制約付きリストを取得します

  23. 23

    パンダはリストの列から一意の値を取得します

  24. 24

    List <Map <K、V >>からList <V>への変換(マップのリストからすべての一意の値を取得します)

  25. 25

    各項目が空の一意のリストのリストである辞書を初期化します

  26. 26

    Javaは、順序付けられていないオブジェクト/値のセット/リストから一意のIDを生成します

  27. 27

    リストC#から一意の値のみを取得する方法

  28. 28

    Go:一意の乱数のセットを取得します

  29. 29

    辞書のリストの値がキーなしで一意であるかどうかを確認します

ホットタグ

アーカイブ