53173


APIで取得した辞書型リストproduct_info[0]からproduct_info[6]のデータについて、それぞれproductとvolumeを表示させたいのですが、その表示がうまくいかずに悩んでいます。  
辞書型リストにおけるprintでの指定の仕方はどのようにすればいいのでしょうか。

[code]

    # ※product_infoの中身はAPIで取得した内容をそのまま転記しております。
    product_info=[]
    product_info=[
    '{"product":"hogeA","id":54,"volume":240}', 
    '{"product":"hogeB","id":85,"volume":332}', 
    '{"product":"hogeC","id":102,"volume":1023}',
     'none',
     'none',
     'none',
     'none'
    ]
    
    for count in range(0,len(product_info)):
        if product_info[count] == 'none':
            print('売り切れ')
        else:
            print(product_info[count]['product','volume'])
    
[/code]


CC BY-SA 4.0
2019-03-03T12:48:51.863
53171
2019-03-03T14:18:16.037
2019-03-03T14:14:16.483
32389
32389
question
python array
Pythonにおける辞書型リストの呼び出し方についてです。


> 格納されたデータはAPIで取得

というところから、これは辞書型ではなくJSONデータのように見えます。このため、一旦JSONとしてパースすると良さそうです。

[code]

    import json
    
    # ...
    
    for product in product_info:
        if product == 'none':
            print('売り切れ')
        else:
            product_info = json.loads(product)
            print(product_info['product'], product_info['volume'])
    
[/code]

※ `in` 記法を利用し、不要な`count` 変数を削減しました


CC BY-SA 4.0
2019-03-03T14:18:16.037
53173
2019-03-03T14:18:16.037
29826
53171
answer