2016-12-07 7 views
0
{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'}] 

Мне нужно получить 'id_str' (4249141216). Кто-нибудь может мне с этим помочь?Извлечение данных из словаря python

Моя попытка:

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

TypeError: список индексов должны быть целыми, не ул

Любая помощь будет принята с благодарностью

EDIT:

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

Это работает, однако, как бы я мог проверить все user_mentions, а не только 0-й?

ответ

2

Положите [0] после ['user_mentions'], так как это список.

Если вы хотите, чтобы проверить каждое упоминание, вам придется перебрать их, например в цикле

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

Спасибо за быстрый ответ. Это работает. Однако, как бы я мог проверить все user_mentions и не только 0-й индекс? – smye

+0

Обновлено, скажите, если это сработает. – user3030010

Смежные вопросы