如何合并数组的第2个元素



我有两个数组,其中包含一些数字:

RA=['20 12 40.0319', '15 15 48.4459'...'10 57 3.0215']
DEC=['-02 08 39.97', '-37 09 16.03'...'+22 42 39.07']

我想把这些数组合并为一个数组,比如:

POS=['20 12 40.0319     -02 08 39.97','15 15 48.4459    -37 09 16.03','10 57 3.0215     +22 42 39.07']

所以基本上,我想在新数组的第i个元素处合并这两个元素的第i个元素,并在它们之间添加一个选项卡。我该怎么做?

zip()函数返回一个zip对象,它是元组的迭代器,其中每个传递的迭代程序中的第一个项目配对在一起,然后每个传递的迭代程序中的第二个项目配对到一起等等。如果传递的迭代器具有不同的长度,则具有最少项的迭代者决定新迭代器的长度。

POS = [i+' '+k for i, k in zip(RA,DEC)] 

使用zip

>>> POS = [(i + 't' + j) for (i,j) in zip(RA, DEC)]
>>> for i in POS:
print(i)
20 12 40.0319   -02 08 39.97
15 15 48.4459   -37 09 16.03
10 57 3.0215    +22 42 39.07

我可以想出两种方法将这些数组合并在一起,其中一种方法是使用其他人提供的+运算符连接第I个元素。

或者,可以使用f字符串。

解决方案

def merge_arrays(arr1, arr2):
return [f"{i}t{j}" for i, j in zip(arr1, arr2)]
RA=['20 12 40.0319', '15 15 48.4459', '10 57 3.0215']
DEC=['-02 08 39.97', '-37 09 16.03', '+22 42 39.07']
print("n".join(merge_arrays(RA, DEC)))

输出

20 12 40.0319   -02 08 39.97
15 15 48.4459   -37 09 16.03
10 57 3.0215    +22 42 39.07

最新更新