为了获得energy值,我尝试遍历这个JSON结果:
[{u'track_href': u'https://api.spotify.com/v1/tracks/7603o589huckPbiELnUKgu', u'analysis_url': u'https://api.spotify.com/v1/audio-analysis/7603o589huckPbiELnUKgu', u'energy': 0.526, u'liveness': 0.0966, u'tempo': 92.979, u'speechiness': 0.103, u'uri': u'spotify:track:7603o589huckPbiELnUKgu', u'acousticness': 0.176, u'instrumentalness': 0.527, u'time_signature': 4, u'danceability': 0.635, u'key': 1, u'duration_ms': 172497, u'loudness': -8.073, u'valence': 0.267, u'type': u'audio_features', u'id': u'7603o589huckPbiELnUKgu', u'mode': 1},...}]我使用的是列表理解:
[x['energy'] for x in features]但是我得到了以下错误:
print ([x['energy'] for x in features])
TypeError: 'NoneType' object has no attribute '__getitem__'我在这里做错了什么?
发布于 2016-08-24 06:13:21
这是因为在您的JSON数组中,某个位置而不是字典中出现了None值。您可以通过以下方式消除它:
[x['energy'] for x in features if x]https://stackoverflow.com/questions/39111376
复制相似问题