哈哈文案句子网—文案句子大全

哈哈文案句子网—文案句子大全

python统计个数怎么统计

59

在Python中统计个数可通过以下方法实现,具体选择取决于数据类型和统计需求:

一、基础统计方法

使用内置函数 `len()`

适用于统计可迭代对象(如列表、字符串、元组)的总元素个数,时间复杂度为O(1)。

```python

my_list = [1, 2, 3]

print(len(my_list)) 输出: 3

```

使用列表的 `count()` 方法

用于统计特定元素在列表中出现的次数,时间复杂度为O(n)。

```python

my_list = [1, 2, 3, 2, 4]

print(my_list.count(2)) 输出: 2

```

二、进阶统计方法

使用 `collections.Counter` 类

适用于统计可迭代对象中所有元素的出现次数,支持多元素统计且效率较高。

```python

from collections import Counter

my_list = [1, 2, 3, 2, 4]

c = Counter(my_list)

print(c) 输出: 2

```

使用字典手动统计

通过遍历列表并使用字典记录元素出现次数,适合需要自定义统计逻辑的场景。

```python

my_list = [1, 2, 3, 2, 4]

count_dict = {}

for item in my_list:

count_dict[item] = count_dict.get(item, 0) + 1

print(count_dict) 输出: {1: 1, 2: 2, 3: 1, 4: 1}

```

三、其他适用场景

统计数字个数(字符串或列表)

- 字符串方法:

遍历字符并统计数字出现次数。

```python

def count_digits(input_string):

counts = {str(i): 0 for i in range(10)}

for char in input_string:

if char.isdigit():

counts[char] += 1

return counts

input_string = "1234567890"

print(count_digits(input_string)) 输出: {0: 1, 1: 2, 2: 2, 3: 2, 4: 2, 5: 1, 6: 1, 7: 1, 8: 1, 9: 1}

```

- 列表解析:简洁统计数字个数。

```python

def count_digits_list_comprehension(input_string):

return [input_string.count(str(i)) for i in range(10)]

print(count_digits_list_comprehension(input_string)) 输出: [1, 2, 2, 2, 2, 1, 1, 1, 1, 1]

```

四、注意事项

性能优化:若需多次统计不同元素,推荐使用 `Counter` 或字典预处理,避免重复遍历列表。

数据类型适配:`len()` 适用于所有序列类型,`count()` 和 `Counter` 仅适用于列表、元组等可迭代对象。