Целочисленная обработка массивов python

У меня есть 2 массива, и мне нужно переключить последнюю цифру целых чисел в одном массиве с целыми числами в другом. Будет лучше, если я покажу вам результаты, чтобы лучше понять, что я пытаюсь сделать. Я не уверен, что это даже возможно сделать по крайней мере.

Вывод массивов:

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']

2 ответа

Решение
>>> [s[:-1]+f for (f,s) in zip(first_array, second_array)]
['523', '64', '395', '102', '90', '10', '41', '7']

Если это действительные целые числа, вы можете попытаться "округлить" каждый элемент второго списка до ближайшего кратного 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]
Другие вопросы по тегам