就像我们在Scala中一样,如何在python中一次完成Groupby和映射

阿比舍克·米什拉

我们在Scala中有一个列表:

val testList = List("Sita" -> 1, "Sita" -> 2, "Ram" -> 3, "Ram" -> 4, "Shyam" -> 5)

我将其应用到列表中以按Scala中的键将值分组:

val res = testList.groupBy(_._1).map { case (k, v) => k -> v.map(_._2).sum }

结果我得到了:

Map(Shyam -> 5, Ram -> 7, Sita -> 3)

我想在python中做同样的事情,请帮帮我:

testList = [("Sita", 1), ("Sita", 2), ("Ram", 3), ("Ram", 4), ("Shyam", 5)]

编辑:如果我有这样的列表怎么办:

testList = [("Sita_English", 1), ("Sita_Maths", 2), ("Ram_English", 3), ("Ram_Maths", 4), ("Shyam_English", 5)]
伊什瓦尔

我认为您想以功能性方式提供解决方案:

out = list(map(lambda v:(v[0], sum(map(lambda s: s[1], v[1]))), groupby(testList, key=lambda x: x[0])))

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

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

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何创建对象数组或使用模型,就像我们在JSON中一样-Angular / Ionic

如何在Vue中创建动态而不是预定义的CSS样式(就像我们在Angular中一样)

像我们在Swift中一样,如何从Kotlin中的函数返回多个值?

如何在App Maker查询中引用值(就像我在Apps脚本中一样)

如何像我们在 pyspark withColumn 中一样在 pandas 中动态创建新列

我们如何在robotframework中一次通过不同的浏览器

我如何在 .hbs 文件中执行 sql 查询,就像我们使用 php 对 .html 执行的一样?

以 CSV 格式打印,就像我们以 txt 格式打印一样

编辑ListView组标题,就像我们可以编辑ListViewItems一样

从mongo db获取数据,就像我们在mysql中获取数据一样?

我们如何像在onCreate()中一样使用onOptionItemSelected之外的菜单项

如何在 Dapper Query 中的动态参数中传递多个条件,就像我们传递 IN 运算符一样

如何在任何类中创建比较器函数,就像我们在C ++ STL中创建priority_queue一样

如何在 Dart 中使用 **kwarg(就像在 Python 中一样)

像我在C#中一样,如何在Java中使用回调函数调用函数?

Python REPL 就像在 Clojure 中一样

我如何创建一组重复的条纹,就像在美国国旗中一样

添加悬停文本而不使用javascript,就像我们悬停用户的声誉一样

在javascript中动态处理数组的索引,就像我们对对象执行此操作一样

如何在Rails库中进行记录就像在模型和控制器中一样

我们如何像在Visual Studio中一样将所有文件保存在(VSCode)中

如何像在 sql 中一样在 mysql 中获取格式化的 JSON 我们使用 FOR JSON 子句

我们可以像在python中一样在Go中创建上下文管理器吗

我们是否像Java中一样具有C ++中的设计模式?

我们可以像在kdb中一样在Excel中做asof join吗

我们可以像在Vue中一样在Polymer中使用模板语法吗?

像我们在Eclipse中有后退按钮一样,如何在浏览代码时返回PyCharm?

如何使Playground执行时间就像我们在iOS应用程序中运行一样快

如何在Swift中存储属性,就像在Objective-C中一样?