• 列表推导式和sum的用法


    作者:杨航锋
    链接:https://www.zhihu.com/question/57470958/answer/153405326
    来源:知乎
    著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

    对于列表形如list_1 = [[1, 2], [3, 4, 5], [6, 7], [8], [9]]转化成列表list_2 = [1, 2, 3, 4, 5, 6, 7, 8, 9]的问题。

    1. 一般方法
    list_1 = [[1, 2], [3, 4, 5], [6, 7], [8], [9]]list_2 = []for _ in list_1:list_2 += _print(list_2)

    结果一截图:


    2. 更Pythonic的方法二,列表推导

    list_1 = [[1, 2], [3, 4, 5], [6, 7], [8], [9]][i for k in list_1 for i in k]

    结果二截图:

    3. 抽象用法(知道就好但不推荐哦)

    list_1 = [[1, 2], [3, 4, 5], [6, 7], [8], [9]]sum(list_1, [])

    结果三截图:

    解释下Python中sum函数的这种用法:

    如图所示,sum的第一个参数为可迭代对象即可,第二个参数默认为0,但是在上述代码中我改成了空列表,因此sum函数的功能变成[] + i i in iterable(也不知道这么解释看不看的懂哈哈)








  • 相关阅读:
    Spark Streaming 调优指南
    Hive实战之Youtube数据集
    【源码解析】BlockManager详解
    Spark操作HBase问题:java.io.IOException: Non-increasing Bloom keys
    Spark实战之读写HBase
    ZooKeeper的简单理解
    Flume-ng源码解析之Source组件
    Flume-ng源码解析之Sink组件
    Flume-ng源码解析之Channel组件
    Flume-ng源码解析之启动流程
  • 原文地址:https://www.cnblogs.com/fangh/p/9024352.html
Copyright © 2020-2023  润新知