python - 如何创建接受文本字符串并返回包含某些已定义字符出现次数的字典的函数,即使不存在?

标签 python

你好,我之前问过这个问题,我想调整我现在的代码。我想调整此代码,以便如果文本字符串中不存在字母,它仍会返回值 0 给它分配的值。

    count = {}
    for l in text.lower():
        if l in let:
            if l in count.keys():
                count[l] += 1
            else:
                count[l] = 1
    return count

它目前返回这个:

example = "Sample String"
print(func(example, "sao")
{'s': 2, 'a' : 1}

这将是我想要的输出

example = "Sample String"
print(func(example, "sao"))
{'s': 2, 'a' : 1, 'o' :0}

最佳答案

如果您不介意使用专为您的目的而设计的工具,则可以使用以下工具:

from collections import Counter
def myfunc(inp, vals):
    c = Counter(inp)
    ​return {e: c[e] for e in vals}
s = 'Sample String'
print(myfunc(s, 'sao')

否则,您可以在函数中明确设置所有缺失值。

def func(inp, vals):
    count = {e:0 for e in vals}
    for s in inp:
        if s in count:
            count[s] += 1
    return count

关于python - 如何创建接受文本字符串并返回包含某些已定义字符出现次数的字典的函数,即使不存在?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67197085/

相关文章:

jquery - Flask-Restful API 和 JSON 问题中的 Unicode

python - 使用自定义 DPI 和宽度从 GUI 保存 matplotlib 图

python - 系统+ Homebrew Python与LLDB的奇怪混合

python - 我的代码是这个作业的正确实现吗?

python - django-oscar 中的用户货到付款

python - 在 Django 错误邮件中包含局部变量

Python连接套接字进行处理

python - 加快写入文件的速度

python - 在 python Google Cloud Dataflow 中通过 bigquery reader 读取行时出现 AssertError

python - 是否可以用两种不同的方式实例化一个类的对象?