为什么我的字典没有在for循环中更新?

时间:2018-02-08 00:39:48

标签: python python-2.7

我有不同的列表,其中包含以下参数:

for i in list3 :
    for idx,j in enumerate(i):
        if idx==0:
           start_code = j[0]
           start_addr = j[1]

        CODE = j[0]
        ADDR = j[1]
        mydict.update({ADDR:CODE})

我正在尝试从此列表中获取参数并根据这些参数更新我的字典。为了做到这一点,我写了以下代码:

mydict

,但我的问题是我的字典{{1}}每次都没有更新,它显示我没有。请问可能是什么问题?

1 个答案:

答案 0 :(得分:1)

我同意Adam Smith指出dict.update()返回None(请参阅python docs)。

例如,运行代码(但用字符串替换list1list2元素对象)会产生:

In [1]: list1 = [('CODE', 'ADDR' ), ('CODE1', 'ADDR1')]
   ...: list2 = [('CODE2', 'ADDR2' ), ('CODE3', 'ADDR3')]
   ...: list3= [list1, list2]
   ...: 

In [2]: mydict = {}

In [3]: for i in list3 :
    ...:     for idx,j in enumerate(i):
    ...:         if idx==0:
    ...:            start_code = j[0]
    ...:            start_addr = j[1]
    ...: 
    ...:         CODE = j[0]
    ...:         ADDR = j[1]
    ...:         mydict.update({ADDR:CODE})
    ...:         

In [4]: mydict
Out[4]: {'ADDR': 'CODE', 'ADDR1': 'CODE1', 'ADDR2': 'CODE2', 'ADDR3': 'CODE3'}