【发布时间】:2020-09-06 19:15:33
【问题描述】:
我正在为学校做作业。我的教授在课堂上给了我们一些代码,我不确定它的逻辑是如何工作的。
#wdcnt is dictionary with key = "some_string" and value = some_int
v = [wdcnt.values()]
v.sort()
for k in sorted(wdcnt, key = wdcnt.get, reverse = True):
print(k,wdcnt[k])
-
我理解将值存储到列表中然后对其进行排序的前提,但是为什么在 for 循环中不使用 v。那行代码似乎毫无意义,因为之后从未使用过 v。
-
wdcnt.get 没有“()”或参数,但仍然可以返回与 k 关联的键值。
请帮助我理解这段代码背后的逻辑,谢谢。
注意*作业已完成并且可以工作,但为了更好地理解我想了解逻辑。
【问题讨论】:
-
v是毫无意义。该代码创建了一个包含一个元素的列表,对其进行排序(没有效果),然后从不使用它。 -
我喜欢不仅没有使用
v,而且实际上v.sort()实际上并没有对值列表进行排序。
标签: python python-3.x sorting dictionary