当前位置: 首页 > 知识库问答 >
问题:

如何在更新所有项目后才打印字典键值对?

穆修杰
2023-03-14

我有一个工作ID列表,有成千上万个名为“结果”的项目。

我需要循环访问此列表以获取每个作业的特定数据,我需要将这些变量添加到字典中,然后在字典更新完成并按键排序时打印键值对

这是代码的缩短版本

jobs_dict = {}
for job_index in result:
    application_name = get_app_name(id)
    job_content = get_job_content(id)
    job_duration = get_job_duration(id)
    if  job_duration not not in jobs_dict.keys():
        jobs_dict.update( {job_duration : [job_content,application_name]} )
        for key, value in sorted(composite_prob_dict.items()):
            print(key, value)
        

我的问题是,我需要打印按键排序的键值对,但我只想在所有键值对都添加到字典后打印键值对因为我需要打印按照键排序的键值对

如果我正在打印键值对,我在更新过程中看到键,我想在所有项目更新后打印整个字典,按键排序

下面是几行脚本输出,当然这只是第一行,随着键值对添加到字典中,它会继续

(100.78492568380443, ['204181', '435882'])
------------------------------------------------------------------
(81.872401187661254, ['204183', '435884'])
------------------------------------------------------------------
(100.78492568380443, ['204181', '435882'])
------------------------------------------------------------------
(81.872401187661254, ['204183', '435884'])
------------------------------------------------------------------
(100.78492568380443, ['204181', '435882'])
------------------------------------------------------------------
(135.48969627632511, ['204184', '435885'])

当我打印键值对时,我想为键值对获取一个元组一次

并按键排序,即:

(81.872401187661254, ['204183', '435884'])
------------------------------------------------------------------
(100.78492568380443, ['204181', '435882'])
------------------------------------------------------------------
(135.48969627632511, ['204184', '435885'])

简而言之,只有在所有项目都已添加并按键排序后才能打印字典键值对的方法是什么?没有重复和排序?

共有1个答案

雍志文
2023-03-14

以这段代码为例:

    for key, value in sorted(composite_prob_dict.items()):
        print(key, value)

并取消缩进它,以便 for 与代码中的第一个 for 对齐。目前,它是缩进的,以便将其放入循环中,因此每次进行更新时都会打印出来。

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

  • 我想从python字典中输出键值对,如下所示: 我想我可以这样做: 但是很明显,事情不是这样的,因为和不接受参数。

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

  • 问题内容: 我有一本代表书店的字典。键代表书名,值代表当前书的份数。从商店出售书籍时,书籍的份数必须减少。 我已经编写了减少售书数量的代码,但是在更新后打印字典时,我得到的是初始字典,而不是更新的字典。 我想以最简单的方式解决问题。我是否错过了代码中的任何逻辑或任何行? 问题答案: 好吧,您可以仅通过引用键直接从值中减去。我认为这更简单。 在您的情况下:

  • 问题内容: 我试图简单地在ConcurrentHashMap中打印所有键/值对。 我在网上发现了我认为可以做到的代码,但似乎正在获取有关存储桶/哈希码的信息。老实说,实际上输出的结果很奇怪,可能是我的程序不正确,但是我首先要确保这部分是我要使用的部分。 这给出了大约10个不同键的输出,计数似乎是映射中总插入次数的总和。 问题答案: 我测试了您的代码并正常工作。我添加了一个小演示,它用另一种方式打印

  • 问题内容: 我知道该信息在枚举中可用。 如何打印所有枚举值,如:? 输出: 姓名 教育 电子邮件 电话 如何在另一个函数中将该枚举作为arg 传递? 问题答案: 您的第二部分…与或一样