Python:按键对列表进行排序会返回错误:“字符串必须为整数”

用户名

我一直在搜寻无济于事,希望有人能指出我正确的方向。我试着:

  • 调用包含json格式文件的网址
  • 将结果字典转换为列表(我认为我不需要插入的键)
  • 通过键('loved_count')排序该列表中的项目

我的代码是:

url = "http://hypem.com/playlist/tags/dance/json/1/data.js"
output = json.load(urllib.urlopen(url))
output = output.values() #convert dict to list
output = output.sort(key=itemgetter('loved_count')) #sort list by loved_count

这给了我以下错误:

output = output.sort(key=itemgetter('loved_count')) #sort list by loved_count
TypeError: string indices must be integers

有什么想法让我搞砸了吗?提前致谢!

虚假的

列表中的一项不是字典:

>>> import urllib
>>> import json
>>> url = "http://hypem.com/playlist/tags/dance/json/1/data.js"
>>> output = json.load(urllib.urlopen(url))
>>> for x in output.values():
...     print(type(x))
... 
<type 'dict'>
<type 'dict'>
<type 'dict'>
<type 'dict'>
<type 'dict'>
<type 'unicode'>
<type 'dict'>
....

>>> u'1.1'['loved_count']
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: string indices must be integers

您可以通过过滤掉非字典项来解决:

>>> items = [x for x in output.values() if isinstance(x, dict)]
>>> items.sort(key=itemgetter('loved_count'))
# No error.

但是,我宁愿问数据提供者数据有什么问题,因为支持数组/列表包含异类数据。


顺便说一句,代码正在分配的返回值sortsort回报None; 您会丢失列表。删除作业,只需致电sort

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

按键(字符串)对哈希进行排序

来自分类Dev

通过存储为字符串的键的整数值对字典列表进行排序

来自分类Dev

按包含字符串的整数对列表进行排序

来自分类Dev

Python和JSON错误-TypeError:字符串索引必须为整数

来自分类Dev

按键字符串对映射进行排序(键实际上是整数)

来自分类Dev

Python引发错误-字符串索引必须是整数

来自分类Dev

类型错误:字符串索引必须是整数(Python)

来自分类Dev

错误:字符串索引必须是整数

来自分类Dev

按键中的字符串日期对NSDictionaries的NSArray进行排序?

来自分类Dev

按键对对象进行排序(字符串作为数字)

来自分类Dev

当基数长度不同时,基数排序会错误地对字符串数组进行排序

来自分类Dev

具有子字符串的API JSON字典返回TypeError:字符串索引必须为整数

来自分类Dev

如何将嵌套列表字符串转换为整数,然后在python 3中对其进行排序?

来自分类Dev

Python排序列表的列表包含整数和内部带有整数的字符串

来自分类Dev

Python排序列表的列表,其中包含整数和内部带有整数的字符串

来自分类Dev

如何解决错误字符串索引在文本扩展中必须为整数

来自分类Dev

异常值:字符串索引必须为整数:渲染包错误vue + django

来自分类Dev

如何解决错误字符串索引在文本扩展中必须为整数

来自分类Dev

Python根据列表中字符串的出现次数对字符串进行排序

来自分类Dev

将字符串乘以整数会返回整数吗?

来自分类Dev

用空格分隔的整数字符串对列表进行排序

来自分类Dev

JSON字符串索引必须为整数

来自分类Dev

TypeError:字符串索引必须为整数

来自分类Dev

熊猫数据框-字符串索引必须为整数-

来自分类Dev

Python:TypeError:解析JSON时,字符串索引必须为整数

来自分类Dev

Python和Selenium单击和“ TypeError:字符串索引必须为整数”

来自分类Dev

解析JSON时,字符串索引必须为整数-python

来自分类Dev

使用Python和GitHub的API:TypeError:字符串索引必须为整数

来自分类Dev

TypeError字符串索引必须为整数-python json dict

Related 相关文章

  1. 1

    按键(字符串)对哈希进行排序

  2. 2

    通过存储为字符串的键的整数值对字典列表进行排序

  3. 3

    按包含字符串的整数对列表进行排序

  4. 4

    Python和JSON错误-TypeError:字符串索引必须为整数

  5. 5

    按键字符串对映射进行排序(键实际上是整数)

  6. 6

    Python引发错误-字符串索引必须是整数

  7. 7

    类型错误:字符串索引必须是整数(Python)

  8. 8

    错误:字符串索引必须是整数

  9. 9

    按键中的字符串日期对NSDictionaries的NSArray进行排序?

  10. 10

    按键对对象进行排序(字符串作为数字)

  11. 11

    当基数长度不同时,基数排序会错误地对字符串数组进行排序

  12. 12

    具有子字符串的API JSON字典返回TypeError:字符串索引必须为整数

  13. 13

    如何将嵌套列表字符串转换为整数,然后在python 3中对其进行排序?

  14. 14

    Python排序列表的列表包含整数和内部带有整数的字符串

  15. 15

    Python排序列表的列表,其中包含整数和内部带有整数的字符串

  16. 16

    如何解决错误字符串索引在文本扩展中必须为整数

  17. 17

    异常值:字符串索引必须为整数:渲染包错误vue + django

  18. 18

    如何解决错误字符串索引在文本扩展中必须为整数

  19. 19

    Python根据列表中字符串的出现次数对字符串进行排序

  20. 20

    将字符串乘以整数会返回整数吗?

  21. 21

    用空格分隔的整数字符串对列表进行排序

  22. 22

    JSON字符串索引必须为整数

  23. 23

    TypeError:字符串索引必须为整数

  24. 24

    熊猫数据框-字符串索引必须为整数-

  25. 25

    Python:TypeError:解析JSON时,字符串索引必须为整数

  26. 26

    Python和Selenium单击和“ TypeError:字符串索引必须为整数”

  27. 27

    解析JSON时,字符串索引必须为整数-python

  28. 28

    使用Python和GitHub的API:TypeError:字符串索引必须为整数

  29. 29

    TypeError字符串索引必须为整数-python json dict

热门标签

归档