2013-02-16 44 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 2013-02-16 20:19:24

+0

什么是他们的字符串好的感谢信息我可以以某种方式将它们转换为整数我知道它的一种方式在Java中,但不知道在Python中 – 2013-02-16 20:35:13

回答

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

我可以以某种方式将它们转换为整数我知道它的一种方式在Java中但不知道在Python中 – 2013-02-16 20:38:09

+1

@ CalvinJones:至少在Python中,使用字符串更容易。如果你想要一个整数列表作为最终结果,只需在zip(first_array,second_array)中使用'[int(s [: - 1] + f)'(f,s)]' – martineau 2013-02-16 20:48:04

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]