繁体   English   中英

将二维数组转换为 [ [ x0 y0 ] [x1 y1] [x2 y2] ] 形式

[英]Converting 2D array into [ [ x0 y0 ] [x1 y1] [x2 y2] ] form

在 Python 中,我正在寻找转换数组:

[[1, 2, 3, 4, 5],[10, 20, 30, 40, 50]]

进入

[[1 10][2 20][3 30][4 40][5 50]]

是否有捷径可寻? 第二种数组的技术名称是什么?

不是

[[1, 10][2, 20][3, 30][4, 40][5, 50]]
>>> ans = []
>>> list1 = [1, 2, 3, 4, 5]
>>> list2 = [10, 20, 30, 40, 50]
>>> for a, b in zip(list1, list2):
...   ans.append([a,b])
... 
>>> ans
[[1, 10], [2, 20], [3, 30], [4, 40], [5, 50]]

您可以使用zip获得结果

arr = [[1, 2, 3, 4, 5],[10, 20, 30, 40, 50]]
result = [list(x) for x in zip(*arr)]

尝试这个

ls =[[1, 2, 3, 4, 5],[10, 20, 30, 40, 50]]

res = [list(x) for x in zip(*ls)]

new_list = []
for i in res:
    item = ''.join(str(i).split(','))
    new_list.append(item)
print(new_list) #['[1 10]', '[2 20]', '[3 30]', '[4 40]', '[5 50]']

加入 new_list 后,它看起来像

print([''.join(new_list)]) #['[1 10][2 20][3 30][4 40][5 50]']

Python 中没有类似 MATLAB 的语法,不能像这样定义 list 或 arrays。

A = [[1 2 3], [4 5 6]]

您必须用逗号分隔每个值。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM