私はどのようにインデックスに知っていると、次のdict
でほぼすべてのアイテムを取得を取得しますか?Pythonは、ネストされた辞書内のキー
-1
A
答えて
1
これは確かに複雑なツリーのようです。クラスでラップする方が良いかもしれません。しかしかかわらず:それは次のように畳み込まれます
print(list(playlists['user'][0].keys())[0])
:
print(playlists['user'][0]['playlist']['tracks'][0]['name'])
、文字列 "プレイリスト":
例えばプレイリスト内の最初のトラックの名前を取得するにはキーと値の両方が必要です。通常、キーを知っている値を抽出したいので、これは必ずしも物事が必然的に意図されたものではありません。私はこれを編集し、余りにも長くないでこれを行うために少しエレガントな方法を振り返ります。
さて、あなたがPythonでクラスを経験したと仮定すると、ここに例があります。ない場合は、あなたが他の場所でその情報の多くを見つけることができます:ここでは
# Class based example
class Playlist(object):
def __init__(self, name, tracks=[]):
self.name = name
self.tracks = tracks
def GetTrack(self, searchString):
for T in self.tracks:
if searchString in T.name:
return T
else:
return None
def AddTrack(self, track):
if isinstance(track, Track):
self.tracks.append(Track)
else:
pass # Or do some exception handling
class Track(object):
def __init__(self, name, artist, count):
self.name = name
self.artist = artist
self.count = count
def Play(self):
pass # Could in theory add some play functionality
# Now you would create a new playlist by going:
MyPlaylist = Playlist("Heavy Metal")
MyPlaylist.AddTrack("SomeSong", "SomeArtist", 1) # etc
# Or
Countrysongs = [Track("SongName", "ArtistName", 12), Track("Bobby", "The Artist", 2)]
AnotherPlaylist = Playlist("Country", Countrysongs)
# And to access the Playlist name or the Song Name
MyPlaylist.GetTrack("SongName")
# And exception handle it
SongToGet = AnotherPlaylist.GetTrack("Sasdjkl")
if not SongToGet:
print ("Could not find song")
は、より大きなライブラリーを構築することが少し楽になり一例です。情報を取得するのが簡単かつ迅速で、巨大な辞書よりも保守が簡単です!
0
また、以下のようにiteritemsメソッドを使用してkey/value
ペアにアクセスすることもできます。そして、以下のように印刷するのではなく、あなたの行動を実行することができます。
In [14]: user1 = playlists.get('user')[0]
In [15]: for key, value in user1.iteritems():
....: print key
....: print value
....:
playlist
{'tracks': [{'count': '1.0', 'name': 'Karma Police', 'artist': 'Radiohead'}, {'count': '2.0', 'name': 'Bitter Sweet Symphony', 'artist': 'The Verve'}]}
関連する問題
- 1. Python:ネストされた辞書のキーを置換する
- 2. Python - ネストされた辞書への新しいキー
- 3. 辞書内のキーに基づいてネストされたdefaultdict
- 4. Pythonのネストされた辞書
- 5. Pythonのネストされた辞書
- 6. Python 2カスケード/ネストされた辞書
- 7. python dict:ネストされた辞書
- 8. Python - 辞書内にネストされた値にアクセスする
- 9. Cで特定のネストされた辞書キーでネストされた辞書でグループ化する#
- 10. ネストされた辞書:エラー457:このキーは既にコレクション
- 11. ネストされた辞書
- 12. ネストされたリソース辞書
- 13. ネストされた辞書
- 14. Pythonのネストされた辞書のキーの2番目のインスタンスにアクセス
- 15. ネストされた辞書のキーの追加と管理
- 16. Pythonでネストされた辞書キーの外側を削除する
- 17. ネストされた辞書からキーと値を取得するPythonの方法
- 18. ネストされた辞書キーによるパンダデータフレームのグループ
- 19. python辞書キー
- 20. ネストされた辞書の各サブ辞書をPythonのdefaultdictに変換する
- 21. Python:ネストされた辞書キーに動的にアクセスしますか?
- 22. Countは、ネストされた辞書パイソン
- 23. Python - ネストされた辞書の理解から辞書を取り込む
- 24. ネストされた辞書から親キーを取得
- 25. Pythonは:辞書のキー
- 26. ネストされたPython辞書をフラット化する方法は?
- 27. Pythonはマルチ値ネストされた辞書を反復
- 28. Pythonでネストされた辞書を使う方法は?
- 29. のPython 3.5 OrderedDict:ネストされた辞書のイテレータ
- 30. ネストされたpython辞書のXpathのようなクエリ