通过列表作为值迭代python字典

sha*_*2nd 0 python dictionary iterator

我正在尝试迭代看起来像这样的字典:

    d = {
    "list_one": [
        "hello",
        "two",
        "three"
    ],
    "list_two": [
        "morning",
        "rain"
    ]
}
Run Code Online (Sandbox Code Playgroud)

我正在使用这个功能:

def combine_words(d):
    for k, v in d.items():
        a = {k: ("|".join(v))}
    return a
Run Code Online (Sandbox Code Playgroud)

当我用print运行它时,我的输出只是一个键,值对.我不确定这里发生了什么.我的理想出局是:

{
'list_one': 'hello|two|three',
'list_two': 'morning|rain'
}
Run Code Online (Sandbox Code Playgroud)

Eri*_*ang 6

def combine_words(d):
    for k, v in d.items():
        a = {k: ("|".join(v))}
    return a
Run Code Online (Sandbox Code Playgroud)

这不断地将字典重新分配给a,而不是将结果组合在一起

def combine_words(d):
    a = {}
    for k, v in d.items():
        a[k] =  ("|".join(v))
    return a
Run Code Online (Sandbox Code Playgroud)

会继续在字典中添加新条目