• 技术文章 >Python技术 >Python基础教程

    如何写python3展开列表的代码?

    小妮浅浅小妮浅浅2020-12-01 17:09:39原创2437

    很多知识点的使用是需要结合在一起,这就会出现一个代码中嵌套了好几个函数,虽然能够实现一些功能上的要求,但是在理解上会加深难度。不过本篇我们需要做的是,把复杂的嵌套展开成简单的列表,相信这个化繁为简的方法很多小伙伴都想学习了,其他的不多说,接下来我们就从python3展开列表的代码开始进行讲解。


    展开列表

    该方法将通过递归的方式将列表的嵌套展开为单个列表。

    1

    <p style="line-height: 1.75em;"><span style="font-family: 微软雅黑, "Microsoft YaHei"; font-size: 14px;">def spread(arg):<br>    ret = []<br>    for i in arg:<br>        if isinstance(i, list):<br>            ret.extend(i)<br>        else:<br>            ret.append(i)<br>    return ret<br> <br>def deep_flatten(lst):<br>    result = []<br>    result.extend(<br>        spread(list(map(lambda x: deep_flatten(x) if type(x) == list else x, lst))))<br>    return result<br> <br> <br>deep_flatten([1, [2], [[3], 4], 5]) # [1,2,3,4,5]<br></span></p>

    拓展:列表的差

    该方法将返回第一个列表的元素,其不在第二个列表内。如果同时要反馈第二个列表独有的元素,还需要加一set_b.difference(set_a)。

    1

    <p style="line-height: 1.75em;"><span style="font-family: 微软雅黑, "Microsoft YaHei"; font-size: 14px;">def difference(a, b):<br>    set_a = set(a)<br>    set_b = set(b)<br>    comparison = set_a.difference(set_b)<br>    return list(comparison)<br> <br> <br>difference([1,2,3], [1,2,4]) # [3]<br></span></p>


    看完之后的小伙伴,可以都动手试一下展开列表的方法,毕竟把繁琐的事情变简单还是很快乐的事情。同时也可以了解一下列表的差,之后的文章会有这方面的深入讲解。更多Python学习指路:PyThon学习网教学中心

    专题推荐:python3代码
    上一篇:python中opencv模块如何掌握使用? 下一篇:python中time.time()函数如何使用?

    相关文章推荐

    • 如何用python3代码玩小游戏?• Python3代码可以用py2exe加密吗?• python3代码怎样快速测试结果?• python3代码如何自动补全?

    全部评论我要评论

    © 2021 Python学习网 苏ICP备2021003149号-1

  • 取消发布评论
  • 

    Python学习网