2013-02-16 5 views
0

2 개의 배열이 있고 하나의 배열에있는 정수의 마지막 숫자를 다른 배열의 정수로 전환해야합니다. 내가하는 일을 더 잘 이해할 수 있도록 출력물을 보여 주면 더 좋습니다. 적어도 이것이 가능할 지 모르겠습니다. 배열의정수 배열 조작 python

출력 :

first_array=['3', '4', '5', '2', '0', '0', '1', '7'] 
second_array=['527', '61', '397', '100', '97', '18', '45', '1'] 

는 다음과 같이 무엇 :

first_array=['3', '4', '5', '2', '0', '0', '1', '7'] 
second_array =['523', '64', '395', '102', '90', '10', '41', '7'] 
+0

배열에 정수가 아닌 문자열이 있습니다. 그러나이 경우에는 실제로 작업이 더 쉬워집니다. – ThiefMaster

+0

문자열에 대해 감사드립니다. 어떻게 든 정수로 변환 할 수 있습니다. Java에서의 방법은 알고 있지만 파이썬에서는 확실하지 않습니다. –

답변

3
>>> [s[:-1]+f for (f,s) in zip(first_array, second_array)] 
['523', '64', '395', '102', '90', '10', '41', '7'] 
+0

어떻게 든 정수로 변환 할 수 있습니까? Java에서의 방법은 알고 있지만 파이썬에서는 확실하지 않습니다. –

+1

@ CalvinJones : 파이썬에서는 최소한 문자열을 사용하는 것이 더 쉽습니다. zip (first_array, second_array)]의 (f, s)에 대해 [int (s [: - 1] + f)를 사용하면 정수리스트를 최종 결과로 만들 수 있습니다. – martineau

1

는 실제 정수의 경우, 두 번째 목록의 각 요소를 "내림"을 시도 할 수 가장 가까운 10의 배수로 곱한 다음 첫 번째 목록에서 각 요소를 추가합니다. 예 :

>>> first = [3,4,5,6] 
>>> second = [235,123,789,9021] 
>>> second = [x - (x%10) for x in second] 
>>> second 
[230, 120, 780, 9020] 
>>> [x + y for (x,y) in zip(first, second)] 
[233, 124, 785, 9026]