2016-11-24 15 views
0

曖昧なタイトルは申し訳ありませんが、これは基本的な質問です。私はこれのように見えるjson(より多くのdict)を持っています。PythonのオブジェクトからJson配列を解析する

{ 
    'The Runaway Dinosaur': 
          ['11th May 2016 ', ' 12:00am'], 
    'Paradox': 
          ['12th Oct 2016 ', ' 12:00am'], 
    'Gorilla Warfare': 
          ['18th Nov 2015 ', ' 1:00am'], 
    'Trajectory': 
          ['23rd Mar 2016 ', ' 12:00am'] 
} 

各jsonオブジェクトには2つの要素の配列がありますので、各オブジェクトの最初の要素を抽出します。

私は次のことを試してみました: -

のp/oを期待
for a in d: #d is the dict where the json is residing 
    print a[0] 

: - 11月2016、2016年10月12日、...

実際のO/P: - T P G T R T F E R T P T T T K M P G F T V F O T T F T R R P F G R T W I S B C K S A F L T F I C T F T E M F W T

私はそれを修正する方法を&を何間違いを犯しています知りたいですか?

答えて

1

dictを反復しようとすると、実際にはキー(文字列キーの最初の文字を取得するための文字列)を反復処理します。あなたは価値が必要です。だから、:

for item in some_dict: 

itemが辞書のキーである、次のようにあなたがdictを反復するとき

for a in d.values(): 
    print a[0] 
+0

ああ!私は基本的な間違いをしていたことを知っていた、ありがとう、答えを受け入れる – penta

1

Yevhenは、答えのよう。順序は不特定である。

したがって、a[0]では、dictのキーである文字列の最初の文字を選択しています。

あなたがから選択する.items()(やPython 2で.iteritems()を)持っている、と.values()(またはPyhton 2で.itervalues())。

など。、返されるJSONは、値としてどこかに空の配列を持っている場合は、value[0]にスローされた例外を取得する可能性があります

for key, value in some_dict.items(): 
    print(value[0]) 

注意。

関連する問題