![](/img/trans.png)
[英]How to convert a numpy array [(x1,y1),(x2,y2),(x3,y3),…(xn,yn)] to [(x1,y1,x1^2,y1^2),(x2,y2,x2^2,y2^2),…(xn,yn,xn^2,yn^2)]
[英]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.