【问题标题】:Doubling individual list values in a python list将python列表中的单个列表值加倍
【发布时间】:2014-11-06 11:37:10
【问题描述】:

假设:

列表 = [ 2, 4, 6, 11]

将该列表转换为 list = [4, 8, 12, 22] 的最快方法是什么?

【问题讨论】:

  • “最快”是什么意思?最低的时间复杂度?最短的代码?如果有的话,你尝试过什么?

标签: python list


【解决方案1】:

这将起作用:

list = [x * 2 for x in list]

另外,不要在内置函数后命名变量,因为它们会影响后者。

【讨论】:

    【解决方案2】:

    我建议您使用map()。 map 函数接收一个 list 和一个函数 f( ),它包括在 的每个元素上应用 f( )列表并将结果附加到将作为返回对象的列表

    foos = [2,4,6,11]
    def f(foo):
        return foo*2
    result = map(f, foos)
    print result
    

    【讨论】:

      【解决方案3】:

      使用pythonlambda

      >>> list = [ 2, 4, 6, 11]
      >>> list
      [2, 4, 6, 11]
      >>> map(lambda x:x*2, list)
      [4, 8, 12, 22]
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2013-07-13
        • 2019-03-29
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-02-13
        相关资源
        最近更新 更多