gpt4 book ai didi

python - 当存在重复项时,如何将两个元素列表转换为字典(一个元素将是键,另一个将是值)?

转载 作者:太空宇宙 更新时间:2023-11-04 06:53:59 25 4
gpt4 key购买 nike

因此,我按以下方式获得了列表列表。

ab_list = [['AB','35'],['AB','78'],['CD','98'],['CD','41'],['CD','67'].....]

现在,我想将此列表转换为字典,使其具有以下形式:

ab_dict = {'AB':'35|78','CD':'98|41|67'.........}

因此,如果列表的第二个元素重复,则应通过管道将其连接起来,这将成为值。我不明白如何做到这一点的逻辑。我正在尝试的代码是:

for val in ab_list:
for value in final_list:
if val[0] == value[0]:
value[1] = value[1] + "|" + val[1]

但这不能正常工作。如何做到这一点?

最佳答案

这是一种使用 setdefault 和简单迭代的方法。

例如:

ab_list = [['AB','35'],['AB','78'],['CD','98'],['CD','41'],['CD','67']]
result = {}
for k, v in ab_list:
result.setdefault(k, []).append(v)

ab_dict = {k: "|".join(v) for k, v in result.items()}
print(ab_dict)

输出:

{'AB': '35|78', 'CD': '98|41|67'}

关于python - 当存在重复项时,如何将两个元素列表转换为字典(一个元素将是键,另一个将是值)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58518465/

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