如何合并多个数组,实现按行调用时展示各数组对应位置元素?
解决方案
你需要将多个数组按索引位置重新分组,Python内置的zip()函数可以轻松实现这个需求:
代码实现
array1 = ['happy','sad','tired'] array2 = ['oranges', 'apples', 'grapes'] array3 = ['monkeys','elephants','tigers'] # 方式1:直接传入目标数组 result = [list(group) for group in zip(array1, array2, array3)] # 方式2:如果已经有包含所有数组的array变量,用解包操作 array = [array1, array2, array3] result = [list(group) for group in zip(*array)] print(result)
输出结果
[['happy', 'oranges', 'monkeys'], ['sad', 'apples', 'elephants'], ['tired', 'grapes', 'tigers']]
原理说明
zip()函数会依次提取每个输入数组的对应位置元素,打包成元组(比如第一个元组是三个数组的第0个元素,第二个是第1个元素,以此类推)。- 列表推导式
[list(group) for group in ...]用于将每个元组转换成列表;如果可以接受元组形式的结果,直接用list(zip(array1, array2, array3))即可。
内容的提问来源于stack exchange,提问作者HoneyWeGOTissues
相关产品推荐
相关产品推荐

