Python - 在迭代时更新 .count() 函数之后的字典值

标签 python dictionary count updates

我在计算字符串中的字母然后将此值更新到字典时遇到问题。

我正在迭代字母字典,并在每一对中使用 .count() 函数来与句子进行比较。 计数正在工作并返回您期望的数字(在本例中为 xval),但是当我使用 dic[k] = xval 时,这不会更新字典。

简单得令人发指。如果可以的话请提供一些建议。

import string

type = ("cat sat on the mat").lower()

dic = dict.fromkeys(string.ascii_lowercase, 0)

print(dic)

for k, v in dic.items():
    xval = type.count(k)
    print(xval)
    dic[k] = xval
    print ("%s: %s" % (k, v))

这是完成的输出。非常感谢。

{'m': 0, 'l': 0, 'h': 0, 'f': 0, 'd': 0, 'x': 0, 'i': 0, 's': 0, 'r': 0, 'u': 0, 'z': 0, 't': 0, 'c': 0, 'a': 0, 'q': 0, 'p': 0, 'j': 0, 'n': 0, 'g': 0, 'w': 0, 'o': 0, 'e': 0, 'k': 0, 'b': 0, 'v': 0, 'y': 0}


0
f: 0
0
q: 0
0
r: 0
1
m: 0
1
c: 0
3
a: 0
0
u: 0
0
g: 0
1
e: 0
0
d: 0
0
v: 0
1
h: 0
0
y: 0
0
k: 0
4
t: 0
0
i: 0
1
o: 0
0
w: 0
0
b: 0
1
s: 0
0
l: 0
0
j: 0
0
x: 0
0
z: 0
1
n: 0
0
p: 0

Process finished with exit code 0

最佳答案

您正在打印的 kv 并不反射(reflect)更新后的字典。

import string

type = ("cat sat on the mat").lower()

dic = dict.fromkeys(string.ascii_lowercase, 0)

print(dic)

for k in dic:
    xval = type.count(k)
    print(xval)
    dic[k] = xval
    print k, ":", dic[k]

输出

{'a': 0, 'c': 0, 'b': 0, 'e': 0, 'd': 0, 'g': 0, 'f': 0, 'i': 0, 'h': 0, 'k': 0, 'j': 0, 'm': 0, 'l': 0, 'o': 0, 'n': 0, 'q': 0, 'p': 0, 's': 0, 'r': 0, 'u': 0, 't': 0, 'w': 0, 'v': 0, 'y': 0, 'x': 0, 'z': 0}
3
a : 3
1
c : 1
0
b : 0
1
e : 1
0
d : 0
0
g : 0
0
f : 0
0
i : 0
1
h : 1
0
k : 0
0
j : 0
1
m : 1
0
l : 0
1
o : 1
1
n : 1
0
q : 0
0
p : 0
1
s : 1
0
r : 0
0
u : 0
4
t : 4
0
w : 0
0
v : 0
0
y : 0
0
x : 0
0
z : 0

关于Python - 在迭代时更新 .count() 函数之后的字典值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38334791/

相关文章:

python - 如何将多个文件上传到 BlobStore?

Python数据框: Remove digits in odd position from df rows?

python - 如何使用 python-libtorrent 获取 torrent 的对等列表?

python - 在Python 3中递归遍历不规则的JSON层次结构以执行部分​​叶节点删除

c++ - 使用 vector 插入 map 的值

json - 有谁知道用于查找单词定义的 Web 服务能够以 JSON 返回结果吗?

python - Tkinter 在运行 input() 时无响应,在空闲时更糟

mysql - 如何获取 MySQL 中不同行的计数?

php - 如何使用 php 使用 session 和文件 ID 来增加计数

c++ - 计算特定数量的元素