csdn_black 2018-04-30 03:53 采纳率: 50%
浏览 902
已结题

python遍历字典出问题了

先上代码:

 def sortRecord(records):
    print(records)
    res=[]
    for i in records:
        li=records[i].copy()
        print('li',li)
        r=li.append(i)      #标注1
        print('r',r)
        res.append(li)

    # res=sorted(res,key=itemgetter(0,1,2,3),reverse=True)
    print('res', res)
这个函数传入的是一个字典,为了清楚我还print了一下,然后就是奇怪的输出,让我直接吐血了:
{'MAN': [5, 100, 103], 'JUV': [2, -28, 5], 'MAD': [2, -100, 4], 'BAR': [5, 28, 34]}

li [5, 100, 103]
r None
li [2, -28, 5]
r None
li [2, -100, 4]
r None
li [5, 28, 34]
r None
res [[5, 100, 103, 'MAN'], [2, -28, 5, 'JUV'], [2, -100, 4, 'MAD'], [5, 28, 34, 'BAR']]

看这个输出,r 居然是None(我打印了li确实是个list)
而更奇怪的是我打印res居然有那些字符串,说明li.append(i)起了作用但是打印不出来
好奇怪啊
有大神明白怎么回事吗?本小白万分感谢啊

  • 写回答

3条回答 默认 最新

  • csdn_black 2018-04-30 03:55
    关注

    啊,我突然明白了,append这个函数没有返回值啊,我好愚钝!!!

    评论

报告相同问题?