从python字典中提取数据

时间:2016-12-07 18:02:35

标签: python dictionary

{u'contributors': None, u'truncated': False, u'text': u'@Kor3aYn @YouTube yeet', u'is_quote_status': False, u'in_reply_to_status_id': 805863281042878464L, u'id': 805864211544965122L, u'favorite_count': 0, u'source': u'<a href="http://twitter.com" rel="nofollow">Twitter Web Client</a>', u'retweeted': False, u'coordinates': None, u'timestamp_ms': u'1480967974922', u'entities': {u'user_mentions': [{u'id': 4249141216L, u'indices': [0, 8], u'id_str': u'4249141216', u'screen_name': u'Kor3aYn', u'name': u'YOUTUBE: Kor3aYn\U0001f1f0\U0001f1f7'}, {u'id': 10228272, u'indices': [9, 17], u'id_str': u'10228272', u'screen_name': u'YouTube', u'name': u'YouTube'}]

我需要得到&#39; id_str&#39; (4249141216)。任何人都可以帮我这个吗?

我的尝试:

ids =['4858458939']
if str((decoded['entities']['user_mentions']['id_str'])) == str(ids):
    code

TypeError:list indices必须是整数,而不是str

非常感谢任何帮助

编辑:

if str((decoded['entities']['user_mentions'][0]['id_str']))

但是,如何检查所有user_mentions而不仅仅是第0个?

1 个答案:

答案 0 :(得分:2)

[0]之后加['user_mentions'],因为这是一个列表。

如果你想检查每一个提及,你必须迭代它们,例如在for循环中

for mention in decoded['entities']['user_mentions']:
    do_something_with(mention['id_str'])