gpt4 book ai didi

python - TypeError : list indices must be integers, 不是 unicode - django python

转载 作者:行者123 更新时间:2023-11-28 20:47:03 24 4
gpt4 key购买 nike

comment_json = urllib2.urlopen("https://graph.facebook.com/comments/?ids=http://www.places4two.de/location/"+locname+"/"+str(lid)+"/")
comment_dict = json.loads(comment_json.read())

如果我打印 comment_dict,我会得到这种形式的字典:

{u'http://www.places4two.de/location/date-in-caroussel/2406/': 
{u'comments':
{u'paging':
{u'cursors': {u'after': u'MQ==', u'before': u'Mg=='}},
u'data': [
{u'from': {u'name': u'John Purlore', u'id': u'100005454794537'},
u'like_count': 0,
u'can_remove': False,
u'created_time': u'2013-10-30T09:02:51+0000',
u'message': u'Essen ist richtig lecker\n',
u'id': u'573597026010502_13875759',
u'user_likes': False},
]
}
}
}

现在我只想检查 data 是否有一些值:

if comment_dict['http://www.places4two.de/location/'+locname+'/'+str(lid)+'/']['comments']['data']:

但是在这一行中,我得到了错误:

TypeError: list indices must be integers, not unicode

我做错了什么? locname 是位置名称,str(lid) 是 location_id 的字符串版本 - 因此它们是变量。

是不是因为str()

最佳答案

使用.get()代替[]

url = 'http://www.places4two.de/location/'+locname+'/'+str(lid)+'/'
if comment_dict.get(url).get('comments').get('data'):
#my code.

要安全地执行此操作(不会遇到 NoneType has no attribute 问题),您还可以:

url = 'http://www.places4two.de/location/'+locname+'/'+str(lid)+'/'
if comment_dict.get(url, {}).get('comments', {}).get('data', None):
#my code.

关于python - TypeError : list indices must be integers, 不是 unicode - django python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19693728/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com