gpt4 book ai didi

python - 如何使用现有元素将一维列表更改为二维列表?

转载 作者:太空宇宙 更新时间:2023-11-03 18:06:30 26 4
gpt4 key购买 nike

我正在读取一个文本文件,其中包含多个列表,每个列表各占一行。给定列表中的元素是非整数 x,y 坐标,需要将其放入数组中,以便:

[x1, y1, x2, y2, x3, y3,....xn, yn]

变成:

x1 x2 x3....xn

y1 y2 y3....yn

但在同一个二维数组中。

我对编码非常陌生,尝试过各种方法但无济于事。现在我正在循环坐标对的数量并尝试在循环中附加值,但不确定如何执行此操作。

这就是我开始的方式:

with open('textfile.txt', 'r') as infile:
for line in infile:
array=[]
number=(line.count(" ")+1)/2 #number of x,y pairs in list
for i in range(0, number-1):

现在我不知道从这里去哪里,所以任何帮助将不胜感激!谢谢

最佳答案

由于您是 Python 新手并且正在处理数值数据,因此您可能需要考虑用于此类操作的事实上的标准模块 numpy 。有了它,你的问题就变得微不足道了:

import numpy as np

A = [1,2,3,4,5,6,7,8]
print np.array(A).reshape((len(A)/2,2)).T

>>> [[1 3 5 7]
[2 4 6 8]]

这里我们将列表转换为 numpy 数组 np.array , reshape将其调整为我们想要的大小并进行转置 T(x1,y1),(x2,y2),... 获取至(x1,x2,...),(y1,y2,...) .

关于python - 如何使用现有元素将一维列表更改为二维列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26786898/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com