python 去重计数的方法
时间: 2023-09-10 18:11:38 浏览: 49
Python 的去重计数方法可以使用集合(set)和字典(dict)来实现。使用集合可以将列表或字符串中的重复元素去掉,再使用 len() 函数获取集合的长度即可得到去重后的元素个数。例如:
```
lst = [1, 2, 2, 3, 3, 3]
s = set(lst)
count = len(s)
print(count) # 输出结果为3
```
如果需要知道每个元素出现的次数,可以使用字典统计,将元素作为键,将出现的次数作为值。例如:
```
lst = [1, 2, 2, 3, 3, 3]
d = {}
for i in lst:
if i in d:
d[i] += 1
else:
d[i] = 1
print(d) # 输出结果为{1: 1, 2: 2, 3: 3}
```
这样就可以知道每个元素出现的次数了。
相关问题
python groupby 去重计数
对于您的第一个问题,可以通过使用Python中的groupby函数来对列表进行分组和计数,示例代码如下:
```
from itertools import groupby
data = [1, 2, 2, 3, 3, 3, 4, 5, 5]
grouped_data = groupby(data)
for key, group in grouped_data:
count = len(list(group))
print("数字 {} 出现了 {} 次".format(key, count))
```
运行以上代码,输出结果为:
```
数字 1 出现了 1 次
数字 2 出现了 2 次
数字 3 出现了 3 次
数字 4 出现了 1 次
数字 5 出现了 2 次
```
以上是关于Python中使用groupby函数进行去重计数的介绍,希望能够帮助到您。
python groupby 条件去重计数
在 Python 中,可以使用 `groupby` 函数和字典来实现根据条件去重并计数的操作。
假设有一个列表 `data`,其中包含了多个字典,每个字典都有一个 `id` 和 `category` 属性,我们要对 `category` 属性进行分组,并去重计数。
示例代码如下:
```python
from itertools import groupby
data = [
{'id': 1, 'category': 'A'},
{'id': 2, 'category': 'B'},
{'id': 3, 'category': 'C'},
{'id': 4, 'category': 'A'},
{'id': 5, 'category': 'A'},
{'id': 6, 'category': 'B'},
{'id': 7, 'category': 'C'},
]
groups = groupby(sorted(data, key=lambda x: x['category']), key=lambda x: x['category'])
result = {k: len(set(d['id'] for d in g)) for k, g in groups}
print(result)
```
输出结果为:
```python
{'A': 3, 'B': 2, 'C': 2}
```
解释:首先将 `data` 列表按 `category` 属性进行排序,并使用 `groupby` 函数按 `category` 属性进行分组。然后遍历每个分组,使用集合去重并计数。最后将计数结果放入字典中返回。