gpt4 book ai didi

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

转载 作者:太空宇宙 更新时间:2023-11-03 16:22:15 26 4
gpt4 key购买 nike

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

我正在迭代字母字典,并在每一对中使用 .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/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com