생성자 표현식의 값과 어떻게 상호 작용할 수 있습니까? 예를 들어 :파이썬에서 생성 인자 표현식을 입력 인자로 가짐
범위 알려져있다def sumValues(*args):
# compute the sum of values
sumValues(abs(x) for x in range(0,10))
(예를 들어, 우리는 범위는 [알고 0,10)), 우리는 루프를 넣을 수 있지만 범위는 알 수없는 어떤 경우?
생성자 표현식의 값과 어떻게 상호 작용할 수 있습니까? 예를 들어 :파이썬에서 생성 인자 표현식을 입력 인자로 가짐
범위 알려져있다def sumValues(*args):
# compute the sum of values
sumValues(abs(x) for x in range(0,10))
(예를 들어, 우리는 범위는 [알고 0,10)), 우리는 루프를 넣을 수 있지만 범위는 알 수없는 어떤 경우?
당신이 당신의 기능을 할 방법에 따라 호출 할 수는 루프에 대한)와 다음
def my_sum(iterable):
total = 0
for x in iterable:
total += x
return total
sum
빌드에서의 동작을 모방하고 max
의 행동을 모방하고 그것을 사용하려는 경우
my_sum(range(10))
my_sum(abs(x) for x in range(0,10))
my_sum([1,2,3,4,5,6])
처럼 사용 또한 등 my_sum(1,2)
, my_sum(1,2,3)
, my_sum(1,2,3,4,5,6,7)
, 당신은 또한 빌드 - [`sum`]을 사용할 수 있습니다이 경우에 다음
def my_sum(*argv):
total = 0
values = None
if len(argv) == 1:
values = argv[0]
else:
values = argv
for x in values:
total += x
return total
포인트가 맑아집니다. 감사! – Hercules
생각했습니다. 여기에 대답 : 당신이 더 일반적으로 목록, 발전기, 또는에서 사용할 수있는 반복 가능한 (아무것도를 호출 할 경우
def sumValues(*args):
# compute the sum of values
total = 0
for item in args[0]:
total += item
return total
print(sumValues(abs(x) for x in range(0,10)))
[output] => 45
(같은 https://docs.python.org/2/library 상기와 /functions.html#sum) function – Copperfield
감사합니다. 그러나 내장 함수를 사용하지 않으려했습니다. – Hercules