Python将两个一维列表转换为二维列表的方法详解

说明,输入list1=[1,3]

                  list2=[2,4]

记list1为横坐标列表,list2为纵坐标列表,长度一致,输出两个location: [1,2]和[3,4],即输出如下

                  list3=[ [1,2] , [3,4] ] 

list1=[1,3]
list2=[2,4]

方法1、使用for语句,新建二维列表

list3=[ [ list1[i],list2[i] ] for i in range(len(list1)) ]
print(list3,type(list3))

输出结果: list3: [[1, 2], [3, 4]]         type: <class 'list'> 

方法2、使用zip语句,缺点是,生成的是tuple(list的一种特殊情况),不利于之后操作

list3=list(zip(list1,list2))

输出结果:list3: [(1, 2), (3, 4)]        type: <class 'list'>

方法3、使用numpy.vstack语句,生成numpy array类 ,再转化为list类

import numpy as np
list3= np.vstack((list1,list2))
list3= list3.tolist()

输出结果:list3: [[1 2] [3 4]]        type: <class 'list'>

注:方法2中zip()结合numpy.array转化成可操作的二维numpy.ndarray 

list3=np.array(list(zip(list1,list2)))

输出结果:list3: [[1 2] [3 4]]        type: <class 'numpy.ndarray'>

物联沃分享整理
物联沃-IOTWORD物联网 » Python将两个一维列表转换为二维列表的方法详解

发表评论