python - 在python中按1个元素对列表列表进行分类

标签 python list dictionary sorting

列表的示例列表:

[
["url","name","date","category"]
["hello","world","2010","one category"]
["foo","bar","2010","another category"]
["asdfasdf","adfasdf","2010","one category"]
["qwer","req","2010","another category"]
]

我想做的是创建一个字典 -> 类别:[条目列表]。

生成的字典将是:

{"category" : [["url","name","date","category"]],
"one category" : [["hello","world","2010","one category"],["asdfasdf","adfasdf","2010","one category"]],
"another category" : [["foo","bar","2010","another category"], ["qwer","req","2010","another category"]]}

最佳答案

dict((category, list(l)) for category, l 
     in itertools.groupby(l, operator.itemgetter(3))

这里主要是itertools.groupby的用法。它只是返回可迭代对象而不是列表,这就是调用 list(l) 的原因,这意味着如果您对此没问题,您可以简单地编写 dict(itertools.groupby (l, operator.itemgetter(3)))

关于python - 在python中按1个元素对列表列表进行分类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2092380/

相关文章:

python - 在python中以相同的顺序随机播放两个列表

python - 获取错误 530 5.7.0 使用 Django Python 发送电子邮件时需要身份验证

r - 如何从 Ecdf() 返回值中提取 Ecdf 值?

python - 使用正则表达式进行哈希表/字典/ map 查找

python - 如何在 PyQt4 脚本中导入和使用外部字典?

python - 为什么使用python zero或Nan输出GPS?

java - 如何在java中以表格格式显示linkedhashmap类型的列表

python - 避免内存泄漏

ios - 尝试在 Swift 中访问嵌套字典数组中的键

python - 如何按字母数字顺序设置列表?