如何在 python 中的单个数组中分配多个数组

How to assign multiple arrays in one single array in python

提问人:Abdelrhaman Makled 提问时间:12/26/2022 最后编辑:taylorSeriesAbdelrhaman Makled 更新时间:12/28/2022 访问量:376

问:

我有 3 个不同的数组,我想以指定格式
将它们联接到一个数组中 示例:

arr_1 = [A,B,C]
arr_2 = [1,2,3]
arr_3 = [E,F,G]

我希望结果数组看起来像这样:

arr_result = [[A,1,E],[B,2,F],[C,3,G]]
Python 列表 排序多 维数组 嵌套列表

评论


答:

0赞 Lexpj 12/26/2022 #1

这个列表生成器应该可以解决问题:

arr_1 = ['A','B','C']
arr_2 = [1,2,3]
arr_3 = ['E','F','G']

arrays = [arr_1,arr_2,arr_3]
print([[arr[i] for arr in arrays] for i in range(3)])
>> [['A', 1, 'E'], ['B', 2, 'F'], ['C', 3, 'G']]
1赞 Samuel 12/26/2022 #2

有一些方法可以实现这一点 其中使用zip功能 下面是一个示例

arr_1 = ['A', 'B', 'C']
arr_2 = [1, 2, 3]
arr_3 = ['E', 'F', 'G']

arr_result = []

for a, b, c in zip(arr_1, arr_2, arr_3):
    arr_result.append([a, b, c])

print(arr_result)

在此示例中,代码将循环访问每个数组的元素,并使用每个数组中的元素创建一个新数组。 此代码假定数组的长度相同。

另一种方法是使用列表推导式

arr_1 = ['A', 'B', 'C']
arr_2 = [1, 2, 3]
arr_3 = ['E', 'F', 'G']

arr_result = [[a, b, c] for a, b, c in zip(arr_1, arr_2, arr_3)]

print(arr_result)
0赞 taylorSeries 12/26/2022 #3
arr1 = ["A", "B", "C"]
arr2 = [1, 2, 3]
arr3 = ["E", "F", "G"]
arr4 = [[ *i ] for i in zip(arr1, arr2, arr3)]

输出:

[['A', 1, 'E'], ['B', 2, 'F'], ['C', 3, 'G']]
0赞 phœnix 12/28/2022 #4

嗨,你也可以使用 for 循环:

l=[]
for i in range(len(arr_1)):
        l.append([arr_1[i],arr_2[i],arr_3[i]])