python - 如何总结相似组的数字?

标签 python

我有两个问题。我正在尝试编写一个采用命令行参数的脚本,我发现我可以使用以下方式启动脚本:

#!/bin/env python

exec python -x "$0" "$@"

这两者有什么区别?

第二个问题是关于脚本的。我有一个这样的输入数据集:

group_a 5
group_a 7
group_c 6
group_a 8
group_b 8
group_b 4
group_c 7
group_a 8
....
....

我怎样才能将所有相似的项目组合在一起并像这样总结数字:

group_a 28
group_b 12
group_c 13

最佳答案

这应该是两个不同的问题。

1) 两种方式是等价的。 shebang 只是将程序标记为由 Python 执行,因此您不必在运行时指定它。

2)

import collections
groups = collections.defaultdict(int)

for line in data_set:
    group, value = line.split()
    groups[group] += int(value)

collections.defaultdict 是一种看起来像字典的数据结构,但如果您查找它不包含的值,它会自动使用默认值创建它。因此,这是一种简洁明了的动态生成组字典的方法:值。

关于python - 如何总结相似组的数字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4912931/

相关文章:

Python Selenium : select option

python - 为什么要在 python 正则表达式中使用 re.purge()?

python - 如何在 ipython 笔记本中显示 PIL 图像

python - "__call__"等价于 Matlab classdef

python - 字典循环

python - 如何将 "array of integer pointers"从 python 传递给 c 库中的函数

python - 在 Python 中使用工程符号(带有 SI 前缀)将 float 转换为字符串

python - 使用动态规划的分词

python - 我可以使用生成的 swig 代码将 C++ 对象转换为 PyObject 吗?

python - 打开 CSV 目录中的所有文件并读取每一行 Python