Python映射数组
我有一个数组Python映射数组,python,arrays,mapping,Python,Arrays,Mapping,我有一个数组pat=[1,2,3,4,5,6,7]和第二个数组count=[5,6,7,8,9,10,11]。有没有一种方法不使用字典就可以得到以下数组newarray=[[1,5],[2,6],[3,7],[4,8],[5,9],[6,10],[7,11]?你只需压缩列表即可 >>> pat=[1,2,3,4,5,6,7] >>> count=[5,6,7,8,9,10,11] >>> list(zip(pat,count)) [(1, 5
pat=[1,2,3,4,5,6,7]
和第二个数组count=[5,6,7,8,9,10,11]
。有没有一种方法不使用字典就可以得到以下数组newarray=[[1,5],[2,6],[3,7],[4,8],[5,9],[6,10],[7,11]
?你只需压缩列表即可
>>> pat=[1,2,3,4,5,6,7]
>>> count=[5,6,7,8,9,10,11]
>>> list(zip(pat,count))
[(1, 5), (2, 6), (3, 7), (4, 8), (5, 9), (6, 10), (7, 11)]
或者如果你想要列表而不是元组
>>> [[i,j] for i,j in zip(pat,count)]
[[1, 5], [2, 6], [3, 7], [4, 8], [5, 9], [6, 10], [7, 11]]
您只需zip
列表即可
>>> pat=[1,2,3,4,5,6,7]
>>> count=[5,6,7,8,9,10,11]
>>> list(zip(pat,count))
[(1, 5), (2, 6), (3, 7), (4, 8), (5, 9), (6, 10), (7, 11)]
或者如果你想要列表而不是元组
>>> [[i,j] for i,j in zip(pat,count)]
[[1, 5], [2, 6], [3, 7], [4, 8], [5, 9], [6, 10], [7, 11]]
如果希望内部元素是列表,可以使用-
>>> pat=[1,2,3,4,5,6,7]
>>> count=[5,6,7,8,9,10,11]
>>> newarray = list(map(list,zip(pat,count)))
>>> newarray
[[1, 5], [2, 6], [3, 7], [4, 8], [5, 9], [6, 10], [7, 11]]
这首先将两个列表进行压缩,合并每个列表的第i个元素,然后使用map
函数将它们转换为列表,然后将完整的外部映射对象(我们从map函数获得)转换为list如果希望内部元素成为列表,可以使用-
>>> pat=[1,2,3,4,5,6,7]
>>> count=[5,6,7,8,9,10,11]
>>> newarray = list(map(list,zip(pat,count)))
>>> newarray
[[1, 5], [2, 6], [3, 7], [4, 8], [5, 9], [6, 10], [7, 11]]
这首先将两个列表压缩,组合每个列表的第i个元素,然后使用map
函数将它们转换为列表,然后将完整的外部映射对象(我们从map函数获得)转换为list,而不使用zip
,您可以执行以下操作:
def map_lists(l1, l2):
merged_list = []
for i in range(len(l1)):
merged_list.append([l1[i], l2[i]])
return merged_list
或者,使用列表理解代替:
def map_lists(l1, l2):
return [[l1[i], l2[i]] for i in range(len(l1))]
不使用zip
,您可以执行以下操作:
def map_lists(l1, l2):
merged_list = []
for i in range(len(l1)):
merged_list.append([l1[i], l2[i]])
return merged_list
或者,使用列表理解代替:
def map_lists(l1, l2):
return [[l1[i], l2[i]] for i in range(len(l1))]