将键,值对添加到新字典

时间:2019-10-14 14:08:39

标签: python

我在当前的total_list字典中有一个键,值对的现有列表。我想查看列表以查看Key == 1中每个total_list的长度,我想将该键及其值对添加到新字典中。这是我提出的代码。

total_list = {104370544: [31203.7, 01234], 106813775: [187500.0], 106842625: [60349.8]}

diff_so = defaultdict(list)
for key, val in total_list:
    if len(total_list[key]) == 1:
        diff_so[key].append[val]
        total_list.pop[key]

但是我不断收到

错误
  

“无法解压缩不可迭代的int对象”。

我想知道是否有我可以修复此代码以使其正常运行?

2 个答案:

答案 0 :(得分:0)

假设OP表示一个字符串,该字符串的长度等于密钥的长度= 1。


您可以这样做:

total_list = [{'abc':"1", 'bg':"7", 'a':"7"}]
new_dict = {}
for i in total_list:
    for k,v in i.items():
        if len(k) == 1:
            new_dict[str(k)] = v
        else:
            pass
print(new_dict)

输出:

{'a': '7'}

编辑后:

total_list = {104370544: [31203.7, 1234], 106813775: [187500.0], 106842625: [60349.8]}

new_dict = {}
for k,v in total_list.items():
    if len(v) == 1:
        new_dict[k] = v
    else:
        pass

输出:

{'106842625': [60349.8], '106813775': [187500.0]}

答案 1 :(得分:0)

您只需要词典理解

diff_so = {k: v for k, v in total_list.items() if len(v) == 1}