【发布时间】:2020-01-19 19:16:27
【问题描述】:
我想编写一个简单的代码来将直方图数据存储在字典中,我想使用字典理解构建最终的直方图字典。在蟒蛇。我可以通过多种方式实现这一点,如下面的代码所示,但方法二有问题,这是它的工作原理:
- 枚举随机字母列表以使用该索引访问从当前迭代开始到结束的列表切片
- 检查切片中是否存在字母
- 如果是,将字母作为索引添加到字典中,并将其值增加 1
- 如果否,则将该字母作为索引添加到字典中并将其值设置为 1 我的问题是这个临时字典在哪里添加到字典之前。领悟力已尽。我尝试了最终的字典“histogram_dict”,但不一样。 同样,主要目标是根据字典理解重写第一个代码,就像在第二个代码中一样。 谢谢
import random
rnd_letters_list=[chr(random.randrange(97,122)) for i in range(21)]
histogram_dict={}
#=============first method ==============
# for letter in rnd_letters_list:
# if letter in histogram_dict:
# histogram_dict[letter]+=1
# else:
# histogram_dict[letter]=1
# print(histogram_dict)
#=============second method ==============
histogram_dict={letter: XXX_dict[letter]+=1
if letter in rnd_letters_list[indx::]
else XXX_dict[letter]=1
for indx,letter in enumerate(rnd_letters_list)}
print(histogram_dict)
#=============third method ==============
# histogram_dict={letter:rnd_letters_list.count(letter)
# for letter in rnd_letters_list}
# print(histogram_dict)
#=============fourth method ==============
# from collections import Counter
# print(dict(
# Counter(rnd_letters_list).most_common()))
【问题讨论】:
-
只需使用常规循环即可。理解结构不太适合这种情况。
-
我想使用字典理解构建最终的直方图字典。 为什么?
标签: python dictionary list-comprehension