python-3.x - 如何在列表python中检查列表中的相同值
问题描述
inp = [['t', 80, 500.0], ['g', 135, 1500.0], ['t', 80, 8000.0],['g', 170, 1500.0],['g', 135, 1000.0]]
如果前两个值是相同的和第三个值并将新项目保存在一个新列表中,如下所示:inp1 = [['t', 80, 8500.0], ,['g', 170, 1500.0],['g', 135, 2500.0]]
解决方案
inp = [['t', 80, 500.0], ['g', 135, 1500.0], ['t', 80, 8000.0],['g', 170, 1500.0],['g', 135, 1000.0]]
dic = {x+"-"+str(y):z for (x,y,z) in inp}
inp1 = [x[0].split("-") + [sum([n[2] for n in inp if x[0]==n[0]+"-"+str(n[1])])] for x in dic.items()]
print(inp1)
# [['t', '80', 8500.0], ['g', '135', 2500.0], ['g', '170', 1500.0]]
推荐阅读
- matplotlib - matplotlib colorbar: need to force scientific notation with exponent at top of bar
- .net - How to do this?: DataTable.Select("[Enabled].ToUpper ='TRUE'")
- kubernetes - GCloud IAM 角色中的权限如何在 Kubernetes 集群中实现?
- php - 如果内容中存在 iframe,如何将 iframe / 视频替换为另一个 div?
- postgresql - 将 SQLite 转储迁移到部署在 Kubernetes 上的 PostgreSQL
- python - 如何将 autograph 和 tf.device 与 tf.function 包装类方法一起使用?
- python - 请求 Simpy 资源永远不会成功
- d3.js - 条形图中的自定义时间间隔在条形之间没有间隙
- android-studio - Android Studio 没有为模拟器显示 logcat
- node.js - 如何正确验证nodeJS rest api中的对象ID数组