arr.rsplit(',', len(arr))
print sum(arr)
"1,2,3,4"의 문자열을 입력하면 첫 번째 줄에서 1,2,3,4의 목록으로 나눕니다. 그러나 합계를 인쇄 할 때 오류 메시지가 나타납니다.파이썬에서 목록을 합하는 방법
arr.rsplit(',', len(arr))
print sum(arr)
"1,2,3,4"의 문자열을 입력하면 첫 번째 줄에서 1,2,3,4의 목록으로 나눕니다. 그러나 합계를 인쇄 할 때 오류 메시지가 나타납니다.파이썬에서 목록을 합하는 방법
배열을 요약하는 가장 좋은 방법은 (당신이 부동 소수점 숫자가 아닌 문자열로 배열 요소를 변환해야합니다)입니다 be :
i=0
for a in arr.rsplit(',', len(arr)): i=i+float(a) #use int() if you want integers
print i
희망이 있습니다. 귀하의 경우 귀하의 분할 문자열에서 변수
타입의 this reference을 확인하지만 결과는 다시 할당되지 않은 arr
그래서 당신의 변수 arr
값은 sum(arr)
을 적용하는 중을주고있다 그래서, 문자열 남아 변경지고 있지 않습니다 오류. 당신이 도착 했을 할당한다면 분할 요소의 형태는 <class 'str'>
그래서 파이썬 3 rsplit
솔루션 대신 split
를 사용하려고 integer
로 변환된다
arr = "1,2,3,4"
arr = map(int,arr.split(','))
print(sum(arr))
출력 : 10
각 요소를 정수로 변환 한 다음 합계를 취합니다. 당신이 ARR 인쇄하려고한다면 :지도 방법 후 print(arr)
는 출력을 제공합니다 <map object at 0x7f90c081acc0>
그래서 당신은 rsplit
를 사용하려면 arr = list(map(int,arr.split(',')))
을주고 그래서 그 대신 arr = map(int,arr.split(','))
의 요소에 액세스 할 수 list
에 arr
변환을 한 후 솔루션 (파이썬 3) :
왜 당신은 특별히'split'보다'rsplit'을 사용하고, split의 수를 제한 할 필요가 없을 때 두번째 인자를 전달합니까? 또한 문자열에 정수의 텍스트 표현이 포함되어 있더라도 정수가 아닌 문자열 목록이 있습니다. – user2357112