微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

函数返回无,而操作返回值

如何解决函数返回无,而操作返回值

我写了一个函数,可以反转字符串的值:

def reversed_list(in_list):
    """A function that reverses the order 
    of the items in a list"""
    
    flipped_list = []
    
    [flipped_list.insert(0,in_list[k]) for k,v in enumerate(in_list)]
        
    return flipped_list
    
reversed_list([1,2,3,4,5,6])

它按预期工作。但是,如果我将函数的最后两行合并为:

return [flipped_list.insert(0,v in enumerate(in_list)]

输出列表为[None,None,None...]

这是为什么,如何将后两行结合起来,使代码尽可能优雅?

干杯

解决方法

flipped_list.insert修改列表,并返回None

如果是第一个示例,则要在flipped_list理解范围内更新list,然后返回修改后的列表。

在第二个示例中,您仍在修改flipped_list,但是返回在list理解中创建的列表,其中填充了None个值

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。