gpt4 book ai didi

python - 在python中,组合2个字典的值

转载 作者:行者123 更新时间:2023-12-01 02:46:19 24 4
gpt4 key购买 nike

我是 Python 新手,我有两个关于 python 字典的问题。

  1. 我有 dict1 (其中值已经是 list),然后我有具有相同 dict2dict1,我想将新值添加到dict1中的值的列表中。我该如何写呢?你能举例说明吗?

    dict1 = {'uid': ['u1'], 'sid': ['s1'], 'os': ['os1']}

    dict2 = {'uid': ['u2'], 'sid': ['s2'], 'os': ['os2']}

    预期输出:

    dict1 = {'uid': ['u1', 'u2'], 'sid': ['s1', 's2'], 'os': ['os1', 'os2']}
<小时/>
  • 我将处理文本文件中的很多行,每行创建一个新字典。这是我的代码的想法:

    count = 0

    for line in f:

    if count == 0:
    dict1 = parse_qs(line)
    count = count+1
    else:
    dict2 = parse_qs(line)
    #combine dict1 with dict 2, and assign the new dict to dict1
  • 是否有更好的方法,使用更少的内存或运行更快(仍然使用字典)?

    预先感谢您的帮助!

    最佳答案

    由于显然不允许您重写解析器,因此您可以这样做:

    for k in dict1:
    dict1[k].extend(dict2.get(k, []))

    如果两个字典中的键始终匹配,您可以删除 .get 并使用直接订阅。

    for k in dict1:
    dict1[k].extend(dict2[k])

    否则,您可以创建一个 defaultdict(list) 并让解析器向其附加值。

    关于python - 在python中,组合2个字典的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45232973/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com