[('1950', '6.5', '6.4', '6.3', '5.8', '5.5', '5.4', '5.0', '4.5', '4.4', '4.2',
'4.2', '4.3', ' \n')]
위치 [1]에서 [12]까지 값을 어떻게 요약 할 수 있습니까?파이썬 튜플 연산
[('1950', '6.5', '6.4', '6.3', '5.8', '5.5', '5.4', '5.0', '4.5', '4.4', '4.2',
'4.2', '4.3', ' \n')]
위치 [1]에서 [12]까지 값을 어떻게 요약 할 수 있습니까?파이썬 튜플 연산
변환이 뜨고 합 지능형리스트를 사용합니다 :
sum(float(x) for x in my_list[0][1:13])
편집 : 주 주당 수업 시간을 범위가 잘못되었습니다. 댓글 당 수정 됨.
주의 사항,이 위치는 1에서 11까지만 합산됩니다! –
L=[('1950', '6.5', '6.4', '6.3', '5.8', '5.5', '5.4', '5.0', '4.5', '4.4', '4.2', '4.2', '4.3', ' \n')]
sum(map(float,L[0][1:13]))
은 람다 및 reduce
을 사용할 수 있습니다. 당신이 여분의 임시 목록을 작성하지 않도록하려면
lst = [('1950', '6.5', '6.4', '6.3', '5.8', '5.5', '5.4', '5.0', '4.5', '4.4', '4.2', '4.2', '4.3', ' \n')]
lst_sum = reduce(lambda x, y : float(x) + float(y), lst[0][1:12])
은 내장 함수'sum'과 충돌하여'sum'을 변수 이름으로 사용하지 않습니다 - 이는 우연히 reduce + lambda와 동일한 작업을 수행합니다. 나는 OP가 아이템이 스트링이 아닌 수레로 추가 될 것으로 생각한다. –
@gnibbler : 편집 중에 나를 잡았다. :) – James
, 당신은 솔루션 your_list [0] (목록의 첫 번째 요소 인 튜플을 참조하는 언급
>>> from itertools import islice
>>> L=[('1950', '6.5', '6.4', '6.3', '5.8', '5.5', '5.4', '5.0', '4.5', '4.4', '4.2', '4.2', '4.3', ' \n')]
>>> sum(map(float,islice(L[0],1,13)))
62.5
참고 islice 사용할 수 있습니다 이게 의도되었는지 아닌지 잘 모르겠습니다.) –