【发布时间】:2019-08-07 10:14:27
【问题描述】:
我有一个函数,它接受一个字符串参数,然后将其转换为直方图字典。该函数应该做的是将作为字符的每个键与包含字母表中所有字母的全局变量进行比较。返回一个新字符串,其中字母减去字典中的字符。我将如何在使用 for 循环而不使用计数器的函数中完成此操作?
alphabet = 'abcdefghi'
def histogram(s):
d = dict()
for c in s:
if c not in d:
d[c] = 1
else:
d[c] += 1
return d
def missing_characters(s):
h = histogram(s)
global alphabet
for c in h.keys():
if c in alphabet:
del h[c]
missing_characters("abc")
我收到一条错误消息,指出字典已更改。我需要做的是从字典直方图中删除给定的字符串字符,并按顺序返回一个新字符串,除了作为参数传递的字符串中的字母之外的所有字母。
提前致谢。
【问题讨论】:
-
太好了。功能在哪里?您面临哪些问题?请给minimal reproducible example
-
也许this 会给你一个想法。考虑使用来自
collecitons模块的Counter对象,因为它非常适合您的应用程序。编辑:链接修复
标签: python string dictionary histogram