我有一个包含字母和频率字典的列表。基本上,我有53个字典,每个字典对应一个字母表(包括小写字母、大写字母和空格)。
adict = {'Letter':'a', 'Frequency':0}
bdict = {'Letter':'b', 'Frequency':0}
cdict = {'Letter':'c', 'Frequency':0}
如果您输入一个单词,它会扫描该单词并更新对应字母的频率。
for ex in range(0, len(temp)):
if temp[count] == 'a': adict['Frequency']+=1
elif temp[count] == 'b': bdict['Frequency']+=1
elif temp[count] == 'c': cdict['Frequency']+=1
例如,我输入单词“Hello”,程序会检测到字母H、e、l、l、o并更新它们的频率。非零频率将被传输到一个新列表中。
if adict['Frequency'] != 0 : newArr.append(adict)
if bdict['Frequency'] != 0 : newArr.append(bdict)
if cdict['Frequency'] != 0 : newArr.append(cdict)
在这之后,我按照频率对newArr进行了排序,并将其转移到一个名为finalArr的新列表中。下面是单词“Hello”的样本列表内容。
{'Letter': 'H', 'Frequency': 1}
{'Letter': 'e', 'Frequency': 1}
{'Letter': 'o', 'Frequency': 1}
{'Letter': 'l', 'Frequency': 2}
现在我想要的是将键值仅传输到2个单独的列表; letterArr和numArr。我该怎么做?我期望的输出是:
letterArr = [H,e,o,l]
numArr = [1,1,1,2]
freq_dict = {'a': 0, 'b': 0, ...}
。然后将频率转换成列表就很容易了。 - Selcuk