📜  Python|字符串中数字的频率(1)

📅  最后修改于: 2023-12-03 15:34:19.144000             🧑  作者: Mango

Python | 字符串中数字的频率

在Python中,我们可以方便地计算字符串中数字的频率。本文将介绍如何使用Python来显示字符串中数字的频率。

具体实现方法如下:

  1. 创建字符串

在我们进行计算之前,我们需要创建一个包含数字的字符串。

str = '1234567890'
  1. 计算数字的频率

接下来,我们可以使用Python中的for循环遍历字符串中的每个字符,并计算数字的频率。使用Python中的字典数据结构,我们可以非常方便地存储数字和对应的频率。

freq = {}

for i in str:
    if i.isdigit():
        if i in freq:
            freq[i] += 1
        else:
            freq[i] = 1

print(freq)

上述代码中,首先我们创建了一个空字典freq,然后使用for循环遍历字符串中的每个字符i。如果i是数字,则判断其是否在freq字典中存在。如果存在,则将该数字对应的频率加1;否则,将该数字添加到freq字典中,并设置其频率为1。最后,我们使用print()函数输出freq字典。

以上代码将输出以下结果:

{'1': 1, '2': 1, '3': 1, '4': 1, '5': 1, '6': 1, '7': 1, '8': 1, '9': 1, '0': 1}

这代表字符串中每个数字的频率均为1。

  1. 计算数字的百分比

有些时候,我们需要计算每个数字出现的百分比。我们可以通过对上面的代码进行少量修改来实现此目的。

freq = {}
total = 0

for i in str:
    if i.isdigit():
        if i in freq:
            freq[i] += 1
        else:
            freq[i] = 1
        total += 1

for key in freq:
    freq[key] = freq[key] / total * 100

print(freq)

上述代码首先计算出字符串中数字的总数,然后使用另一个for循环遍历freq字典中的每个数字,并将其频率除以总数并乘以100,计算其出现的百分比,最后输出freq字典。此代码的输出如下所示:

{'1': 10.0, '2': 10.0, '3': 10.0, '4': 10.0, '5': 10.0, '6': 10.0, '7': 10.0, '8': 10.0, '9': 10.0, '0': 10.0}

这意味着字符串中每个数字出现的百分比都是10%。

以上就是使用Python计算字符串中数字频率的方法。