【问题标题】:In-built sum function in pythonpython中的内置求和函数
【发布时间】:2013-06-26 09:30:29
【问题描述】:
def sum_elements(l):
    sum = 0
    string = ""
    k = 0
    for i in l:
        if type(i) is int:
            sum = sum + l[k]
            k += 1
        elif type(i)is str:
            string = string + str(l[k])
            k += 1
    print "sum of integers in list" + str(sum)
    print "sum of strings in list" + string

Python 有一个内置函数sum 来查找列表中所有元素的总和。如果列表是整数 sum_elements([1, 2, 3]),它将返回 6。sum 函数也适用于字符串列表。 sum_elements(["hello", "world"]) 返回helloworld。我在上面的代码中为sum 内置函数编写了一个实现。它有效。

我是Python新手,我只想知道它是否正确或有更好的方法?

python内置函数源码有链接吗?

【问题讨论】:

    标签: python python-2.7 built-in


    【解决方案1】:
    from operator import add
    def sum_elements(l):
        return reduce(add, l)
    

    【讨论】:

      【解决方案2】:

      您不需要通过索引访问元素。如果列表不为空且所有元素都属于同一类型,则可以编写如下代码:

      >>> def sum_elements(l):
      ...     s = l[0]
      ...     for element in l[1:]:
      ...         s += element
      ...     return s
      ... 
      >>> sum_elements([1, 2, 3])
      6
      >>> sum_elements(['hello', 'world'])
      'helloworld'
      

      【讨论】:

        猜你喜欢
        • 2018-01-04
        • 1970-01-01
        • 1970-01-01
        • 2021-07-24
        • 2010-10-22
        • 2019-12-22
        • 2011-04-29
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多