【发布时间】:2013-11-28 15:52:56
【问题描述】:
我有 2 个带有整数(平均值和平均值)的 Python 列表。平均值是反向排序的。 Alphabet 只是一个带有字母 a-z 的列表,最后一个元素是表示空格的空字符串。平均是文本文件的字母频率。我正在尝试使用替代密码来为我的学习工作。
average = [1, 17, 11, 2, 0, 4, 0, 5, 2, 6, 0, 4, 1, 1, 3, 1, 3, 2, 1, 0, 6, 5, 0, 1, 0, 7, 5]
alphabet = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', ' ']
avg = average[:]
average.sort(reverse = True)
for x in range(27):
for y in range(27):
if average[x] == avg[y]:
if y < 26:
alphabet[x] = chr(97 + y) # ASCII a = 97
else:
alphabet[x] = chr(32) # 32 = space
print(alphabet)
出于某种原因,我得到了这个作为输出:
['b', 'c', 'z', 'u', 'u', ' ', ' ', ' ', 'l', 'l', 'q', 'q', 'r', 'r', 'r', 'x', 'x', 'x', 'x', 'x', 'x', 'y', 'y', 'y', 'y', 'y', 'y']
通常应该是从 a 到 z 的列表(包含空格),但 我找不到错误... 有人有提示吗?
【问题讨论】:
-
你能告诉我们
avg和average列表是什么样的吗? -
您对列表的实际期望是什么,以及如何使用该代码?
-
平均是 [1, 17, 11, 2, 0, 4, 0, 5, 2, 6, 0, 4, 1, 1, 3, 1, 3, 2, 1, 0 , 6, 5, 0, 1, 0, 7, 5] 和平均 ist [17, 11, 7, 6, 6, 5, 5, 5, 4, 4, 3, 3, 2, 2, 2, 1 , 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0] 我希望我得到一个 ['a','b','c',.....'y ','z',' '] 我正在学习媒体计算机科学,循环工作了一段时间,在某些时候它给出了疯狂的列表。
-
嗨@JohnA!欢迎来到 StackOverflow。我已更改您的帖子以显示您所说的平均值和平均值以及字母表的值,但生成的代码并未显示您所说的内容。您可以编辑和更新自己的帖子,这样做是为了向我们展示您实际使用的值。
-
@JohnA 您的问题缺少的是为什么。正如至少一个答案所证明的那样,有一些简单的方法可以将字母表作为字符列表。很难从这个问题中看出为什么要通过这些圈子在字母表末尾附加一个空格。