안녕하세요, 여기가 처음입니다!비단뱀 목록 색인 바깥 쪽
할당 : 여기에 i 번째 요소가 원래 목록의 처음 i + 1 요소의 합계 인 새 목록을 반환하는 새 함수 cumulative_sum을 만듭니다. 예를 들어 [4, 3, 6]의 누적 합계는 [4, 7, 13]입니다.
은 그래서 나는이 코드를 작성했습니다 :
if len(a_list) == x:
break
변명 내 영어 :
list_1 = [4, 6, 3]
def cumulative_sum(a_list):
list_2 = []
list_2.append(a_list[0])
x = 1
y = 0
for i in a_list:
if len(a_list) == x:
break
else:
var1 = list_2[x]
var2 = a_list[y]
var3 = var1 + var2
list_2.append(var3)
x +=1
y +=1
return list_2
print cumulative_sum(list_1)
그러나 나는 내가 좋아 바운드 검사를하더라도 바인딩 오류 밖으로 인덱스를 점점 계속! 당신은 아직 존재하지 않는 인덱스리스트에 요소를 할당 할 수 없습니다
IndexError Traceback (most recent call last)
/Applications/Canopy.app/appdata/canopy-1.4.1.1975.macosx-x86_64/Canopy.app/Contents/lib/python2.7/site-packages/IPython/utils/py3compat.pyc in execfile(fname, *where)
202 else:
203 filename = fname
--> 204 __builtin__.execfile(filename, *where)
/Users/arkin/programming/multadd.py in <module>()
97 return list_2
98
---> 99 print cumulative_sum(list_1)
100
101
/Users/arkin/programming/multadd.py in cumulative_sum(a_list)
89 break
90 else:
---> 91 var1 = list_2[x]
92 var2 = a_list[y]
93 var3 = var1 + var2
is이 방법이 더 짧은 방법일까요? 이 목록은 모든 목록에서 작동합니까? 도와 줘서 고마워! –
예 짧은 방법으로 작성하겠습니다. 필자는 비교적 새로운 방식의 파이썬이므로 처음부터 단계별로 작성하고 싶었습니다. 네, 모든 숫자 목록에서 작동합니다. – CoryKramer
+1은 간결한 답변이며 python의 변형은 upvote입니다! – cod3monk3y