【发布时间】:2022-01-18 03:59:21
【问题描述】:
我正在尝试生成一个字典来计算具有条件的列表列表中的项目。我试图将结果作为元组中的值获取,例如,如果我的初始数据是这样的列表列表:
my_list = [[(1,2),5],[(1,2),9],[(2,3),0],[(2,3),2],[(1,2),5],[(1,2),9],[(2,3),5]]
期望的结果将是一个字典,其中键是每个列表的第一个元素。字典的值将是两个元素的元组,具有相同键的项目数(总计数)以及第二个项目有多少值为 5(条件计数)。
dict_desired = {(1,2):(4,2),(2,3):(3,1)}
我这样做了,但似乎不是很整洁,我想知道是否有更多 python 经验的人可以帮助我构建它,也许使用理解。
提前致谢!
【问题讨论】:
-
欢迎来到 Stack Overflow!如果代码有效并且您正在寻找改进它的建议,Code Review 是合适的地方。但请先查看codereview.meta.stackexchange.com/questions/5777/…。
-
听起来是
collections.Counter的好用例 -
你有没有尝试过任何东西?
-
您的操作基本上是一个分组,这不是您可以使用推导式有效实现的东西(用于表达 映射/过滤 操作,这需要您在每次迭代中重新迭代整个事物,当你可以在一个单一的线性通道中分组时)
-
@juanpa.arrivillaga 发帖人声称有一些代码,因此有权获得质疑(尤其是作为 Stack Overflow 的新贡献者)????
标签: python list dictionary