我在Python程序中有一个3元组的列表,我正在构建这个列表,同时查看一个文件(一次一个),设置如下:
(feature,combination,durationOfTheCombination),
这样,如果找到特征和组合的唯一组合,它将被添加到列表中。列表本身也有类似的设置,但是durationofcombination是共享唯一组合(feature,combination)的所有持续时间的总和。因此,在决定是否应该将其添加到列表中时,我只需要比较元组的前两部分,如果找到匹配项,则将持续时间添加到相应的列表项中。你知道吗
下面是一个清晰的例子。如果输入是
(ABC,123,10);(ABC,123,10);(DEF,123,5);(ABC,123,30);(EFG,456,30)
输出将是(ABC,123,50);(DEF,123,5);(EFG,456,30)
。你知道吗
有没有办法做这个比较?你知道吗
在这里,dict似乎比list更合适,前两个字段是键。为了避免每次都检查密钥是否已经存在,可以使用defaultdict。你知道吗
你可以用^{} 来做
根据OP的建议,如果它有不同的值,请使用
groupby
如果你不想用计数器,你可以用dict代替。你知道吗
相关问题 更多 >
编程相关推荐