计算列表项出现的次数

mhmod2222

假设我有以下列表名称 = ['tan','2','alp','3','tan','4','alp','3','tan','1']

奇数索引元素是一些值,偶数索引元素是它们的出现次数(例如 alp 发生了 3+3 = 6 次)

我正在尝试编写代码来做到这一点。

在这里输入代码

names = ['tan','2','alp','3','tan','4','alp','3','tan','1']

i = 1;
dd = names[0::2]
nn = names[1::2]
ct = [0 for cc in range(len(dd))];
le = len(dd);

for i in range(0, le):
    ct[i] = int(nn[i])
    for j in range(i+1, le):
        if (j < le) and (dd[i] == dd[j]):
            ct[i] += int(nn[j]);
            del(dd[j])
            # del(nn[j])
            le -= 1

我得到的 ct 输出是 [9, 7, 4, 3, 1] 但是它应该是 [7, 6] --- 7 代表棕褐色,6 代表 alp

如果我取消注释 del(nn[j]) ---我将等于 le 并且代码将停止

但我应该删除该元素以及它在第一次之后的任何时间发生的次数(在确定将其添加到 ct 之后),这样计数过程就不会重复

知道怎么做吗?

泽维尔

这相对容易 - 从奇数元素构建查找图,然后对匹配的偶数值求和。您可以使用以下collections.defaultdict()方法让您的生活更轻松:

import collections

names = ['tan', '2', 'alp', '3', 'tan', '4', 'alp', '3', 'tan', '1']

lookup_map = collections.defaultdict(int)
for element, value in zip(names[0::2], names[1::2]):
    lookup_map[element] += int(value)

print(dict(lookup_map))  # {'tan': 7, 'alp': 6}

如果你真的只需要值并且需要保持顺序,你可以添加一个额外的步骤:

result = [lookup_map.pop(element) for element in names[0::2] if element in lookup_map]

print(result)  # [7, 6]

如果您在每个元素计算的出现次数/总出现次数之后,您可以在整个查找地图上应用总和:

sum_total = sum(lookup_map.values())
for name in lookup_map:
    lookup_map[name] /= sum_total

print(dict(lookup_map))  # {'alp': 0.46153846153846156, 'tan': 0.5384615384615384}

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

计算列表项出现次数的问题

来自分类Dev

Python:计算字符串中列表项的出现次数

来自分类Dev

计算列表中的出现次数

来自分类Dev

计算列表中的出现次数

来自分类Dev

计算列表中的出现次数

来自分类Dev

计算列表中出现的次数

来自分类Dev

计算列表列表中的出现次数

来自分类Dev

如何计算列表中“无”的出现次数?

来自分类Dev

计算各种Java列表中的出现次数

来自分类Dev

计算列表中负数的出现次数

来自分类Dev

计算列表中的出现次数,对吗?

来自分类Dev

计算列表中整数的出现次数

来自分类Dev

计算元组列表中的出现次数

来自分类Dev

计算列表python中的列表出现次数

来自分类Dev

Python:计算列表中列表元素的出现次数

来自分类Dev

计算字符串出现次数/列举列表中的出现次数

来自分类Dev

如何计算列表中的出现次数,然后按出现次数降序排序?

来自分类Dev

如何计算带有集合的列表中的项目出现次数?

来自分类Dev

计算数组列表中关键字的出现次数

来自分类Dev

如何计算字典列表中某项目的出现次数?

来自分类Dev

匹配单词列表中的单词并计算出现次数

来自分类Dev

循环遍历嵌套列表字典以计算关键出现次数

来自分类Dev

计算字典列表中某个值的出现次数

来自分类Dev

如何计算字典列表中特定字典键的出现次数

来自分类Dev

我想计算列表中某个元素的出现次数

来自分类Dev

如何计算列表中数组的特定元素的出现次数?

来自分类Dev

您如何计算Python列表中的出现次数?

来自分类Dev

计算同一只乌龟在列表中的出现次数

来自分类Dev

如何计算字典列表中某项目的出现次数?

Related 相关文章

热门标签

归档