【问题标题】:Iterating over a list of dictionary with multiple properties迭代具有多个属性的字典列表
【发布时间】:2020-10-31 18:10:49
【问题描述】:

我有一个具有不同键值对数量的字典列表,如下所示:

movie= [{'title': 'j', 'yor': 'n', 'dir': 'jn'}, {'title': 'hb', 'yor': 'jn', 'dir': 'kn'}]

我想像下面这样打印它们:

title: j, yor: n, dir: jn
title: hb, yor: jn, dir: kn

我尝试了两种不同的方法,即使用 .items() 在嵌套的 for 循环中遍历字典,该循环遍历列表。但在这方面,输出出现在 6 个不同的行上——字典的每个项目在不同的行上。而且,如果我尝试直接打印出列表元素的值(即字典),则输出非常原始,带有括号和撇号,这是不需要的。关于如何实现这一点的任何建议?

方法一的代码:

    for _ in movie:
        print(_)

输出是:

{'title': 'j', 'yor': 'n', 'dir': 'jn'}
{'title': 'hb', 'yor': 'jn', 'dir': 'kn'}

方法2的代码:

    for _ in movie:
        for k,v in _.items():
            print(k+": " +v)

方法2的输出:

title: j
yor: n
dir: jn
title: hb
yor: jn
dir: kn

【问题讨论】:

  • 你能分享你尝试过的方法吗?
  • 已在问题中编辑

标签: python python-3.x string list dictionary


【解决方案1】:

您可以尝试以下方法:

for item in movie:
    print(f"title: {item['title']}, yor: {item['yor']}, dir: {item['dir']}")

假设列表中键的顺序相同:

for item in movie:
    print(','.join(f"{key}: {value}" for key, value in item.items()))

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-09-22
    • 2019-04-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多