因此,我按以下方式获得了列表列表。
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'}
