例如,如果我有以下两个数组。
x = [1,3,5]
y = [2,4,6]
我不想像下面的硬编码来显示输出
因为如果我这样做,那么就没有必要从上面获得x
和y
。
arr = [[1,2],[3,4],[5,6]]
我怎样才能编写一个语句,它只是使数组识别出x
的每个索引都对应y
的相同索引。
因此,x = 1
为y = 2
,依此类推。
答案 0 :(得分:4)
您应该使用zip
function并将其转换为如下列表:
>>> array = list(zip(x, y))
[(1, 2), (3, 4), (5, 6)]
这将创建一个元组列表。请注意,您仍然可以在元组(如列表)上执行常规索引操作等操作。如果你真的想要子列表而不是元组,那么你应该这样做:
>>> array = [list(item) for item in list(zip(x, y))]
[[1, 2], [3, 4], [5, 6]]
答案 1 :(得分:3)
arr = [list(item) for item in zip(x,y)]
答案 2 :(得分:-1)
如果你对单个联轴器是元组很好,这是另一种风格:
x = [1,3,5]
y = [2,4,6]
print zip(*[x,y]) #prints [(1, 2), (3, 4), (5, 6)]
当然你可以将它修改为:
a = zip(*[x,y])
b = [ list(n) for n in a ] #gives: [[1, 2], [3, 4], [5, 6]]