【发布时间】:2021-12-21 12:14:12
【问题描述】:
我正在尝试学习如何压缩我正在编写的代码。目标是打印出 list 的对象,以反向或常规顺序排序,一次 'lchar' 一行。这段代码可以完成这项工作,但我相信有办法清理它。
lchar = list()
for key,val in list(wd.items()):
lchar.append((val,key))
lchar.sort(reverse=True)
for key,val in lchar:
print(key,val)
有没有办法压缩此代码,以便我可以在将其附加到列表“lchar”的同一行对其进行排序,并在同一代码块中逐行打印元组?
【问题讨论】:
-
你真的应该担心不那么肤浅的事情。例如,将排序 移出循环 更为重要,这样它就不会对任何项目进行不必要的排序。另外,停止不必要地使用
list(wd.items()...你为什么要在那里创建一个列表?这比代码的简洁程度更重要 -
为什么要在追加的同时进行排序?在所有项目都在列表中之后,您只需要排序一次。无需对循环的每次迭代进行排序。此外,试图在一行中完成所有事情并不会使您的代码更好,它通常会使您的代码更糟。
标签: python-3.x sorting