当前位置: 首页 > 面试题库 >

如何在Python 3.4.3中打印排序的字典

徐嘉勋
2023-03-14
问题内容

我正在为我的GCSE学习,其中一部分要求我打印按字母顺序排序的字典,并且打印内容应包含相关值。

我花了数小时试图找到答案,并浏览了该论坛上的各种帖子,但对于我的有限知识而言,大多数帖子太过复杂。

我可以打印按字母顺序排序的键,也可以打印排序后的值,但不能打印按字母顺序排序的键(附带值)。

这是我的简单测试代码

class1 = { 'Ethan':'9','Ian':'3','Helen':'8','Holly':'6' } # create dictionary

print(sorted(class1)) # prints sorted Keys
print(sorted(class1.values())) # Prints sorted values

我需要打印带有值的排序键-怎么做?

for k,v in class1.items():
    print(k,v)  # prints out in the format I want but not alphabetically sorted

问题答案:
>>> class1 = { 'Ethan':'9','Ian':'3','Helen':'8','Holly':'6' }
>>> print(sorted(class1.items()))
[('Ethan', '9'), ('Helen', '8'), ('Holly', '6'), ('Ian', '3')]



>>> for k,v in sorted(class1.items()):
...     print(k, v)
...
Ethan 9
Helen 8
Holly 6
Ian 3



>>> for k,v in sorted(class1.items(), key=lambda p:p[1]):
...     print(k,v)
...
Ian 3
Holly 6
Helen 8
Ethan 9

>>> for k,v in sorted(class1.items(), key=lambda p:p[1], reverse=True):
...     print(k,v)
...
Ethan 9
Helen 8
Holly 6
Ian 3


 类似资料:
  • 我想要的是在我的控制台窗口中以升序打印一行数组中的数字,类似这样 但是有一个错误是:PrintStream类型中的println(boolean)方法不适用于参数(void)

  • 问题内容: 结果显示 该代码打印所有单词并计数频率单词的使用。 我想在单独的行中打印字典。 有任何可行的方法吗? 问题答案:

  • 问题内容: 这是字典 使用这个 它打印以下内容: 但是我希望程序像这样打印它: 我刚刚开始学习字典,所以不确定如何执行此操作。 问题答案: 输出:

  • 问题内容: 我想打印一个特定的Python字典键: 现在我可以检查是否可以,但是我想做的是打印密钥的名称。当然可以使用,但是我不想列出 所有 键,而只列出一个特定的键。例如,我期望这样的事情(用伪代码): 有什么方法可以打印键名? 编辑: 好的,非常感谢你们的反应!:)我意识到我的问题没有很好地表述和琐碎。我只是感到困惑,因为我意识到key_name是两个不同的东西,我认为从字典上下文中打印出来是

  • 我编写的代码获取数组的元素,并遍历数组以给出所有排列。但我需要它只显示一定数量的排列: 最后的代码是只给出9个元素的6个排列(换句话说,打印总362880个输出中的前60480个排列)。为简单起见,我正在使用数组中的4个元素,并且我得到了所有24个排列以打印出来。但是我需要代码可以用于任意数量的排列。例如,如果我需要它打印出1-perMutation,代码应该打印前4个排列——ABCD、ABDC、

  • 问题内容: 我想像这样从python字典输出键值对: 我以为我可以这样做: 但是很明显,这不是和不争论的方式。 问题答案: 您现有的代码只需进行一些调整。 是 关键,因此您只需要使用它: 您还可以获得包含键和值的迭代器。在Python 2中,返回(键,值)元组的列表,而返回提供相同值的迭代器: 在Python 3中,返回迭代器;要获得列表,您需要将迭代器传递给自己。