遍历具有多个属性的字典列表

时间:2020-07-11 00:02:23

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

我有一系列具有不同键值对的字典,如下所示:

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条不同的行上-字典的每一项都在不同的行上。并且,如果我尝试直接打印出列表元素(即字典)的值,则输出是非常原始的,带有括号和撇号,这是不希望的。关于如何实现的任何建议?

方法1:

    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

1 个答案:

答案 0 :(得分:2)

您可以尝试以下操作:

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()))