Skip to main content
 首页 » 编程设计

python之如何总结相似组的数字

2025年05月04日18JeffreyZhao

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

#!/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 是一种看起来像字典的数据结构,但如果您查找它不包含的值,它会自动使用默认值创建它。因此,这是一种简洁明了的动态生成组字典的方法:值。