当Python认为dict中的值是字符串时,如何找到dict中的max值?

2024-05-04 00:58:29 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在和Tumblr API合作——我想建立一个小doo-dad,它会把我所有的帖子放到我的不同的tumblr上,并每周将它们归档到我的WordPress博客中。在

所以每次运行脚本时,我都要记录max post id。所以我尝试使用如下方法:

    jdata = json.loads(rawjson)
    jposts = jdata['response']['posts']
    for post in jposts:
        print post['id'] 
    print max(jposts['id'])

我得到的是很多post id(预期的),后面跟着list indices must be integers, not str,但是如果我这样做,print type(post['id']),Python会将它们识别为<type 'long'>。所以。。。我做错什么了?在

这里有一个Tumblr's sample output的片段,可以用于rawjson

^{pr2}$

Tags: apiidtypewordpresstumblrpostmax帖子
2条回答

您可以在指定了key参数的情况下使用max()

from operator import itemgetter
print max(jPosts, key=itemgetter('id'))['id']  # prints 47218422365

jPosts是一个列表

jPosts = [{'id':123},{'id':54233},etc] #example 

因此,您不能说jPosts['id'],因为它是一个列表而不是一个字典,但是您可以说类似jPosts[0]['id'],因为您现在在jPost的第0个索引上使用id,而jPost的第0个索引是一个字典

我想你想

^{pr2}$

相关问题 更多 >