2013-06-26 8 views
2
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 

파이썬에는 목록의 모든 요소의 합계를 찾을 수있는 내장 함수 sum이 있습니다. 목록이 정수형 숫자 sum_elements([1, 2, 3]) 인 경우 6을 반환합니다. sum 함수는 문자열 목록에도 사용할 수 있습니다. sum_elements(["hello", "world"])helloworld을 반환합니다. 위의 코드에서 sum 내장 함수에 대한 구현을 작성했습니다. 그것은 작동합니다.파이썬 내장 함수 내장

저는 파이썬에서 초보자입니다. 정확한지 알고 싶거나 더 좋은 접근 방법이 있습니까?

파이썬 내장 함수 소스 코드에 사용할 수있는 링크가 있습니까?

답변

1

색인을 사용하여 요소에 액세스 할 필요가 없습니다. 목록이 비어 있지 않은 모든 요소가 동일한 유형의 경우 다음과 같이 코딩 할 수 있습니다 :

>>> 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' 
4
from operator import add 
def sum_elements(l): 
    return reduce(add, l)