Целочисленная обработка массивов 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]