在下面的代码中,我试图存储每个小写字母的计数,以便在cnt[char][i + 1]
给出字母“char”的计数,直到字符串中的第I个字符。你知道吗
import string
s = 'abcdabcd'
n = len(s)
cnt = dict(zip(string.ascii_lowercase, [[0] * (n + 1)] * 26))
print('Before')
print(cnt)
for i in range(n):
for char in string.ascii_lowercase:
cnt[char][i + 1] = cnt[char][i] + (1 if char == s[i] else 0)
print('After')
print(cnt)
但是,输出显示列表没有被修改,因为它们最初是用零填充的,即使在循环之后,它们也没有被修改。你知道吗
我无法理解为什么会发生这种情况,以及如何获得所需的输出。你知道吗
使用新列表创建dict:
相关问题 更多 >
编程相关推荐