从两个数组创建几个数组?

2024-03-28 14:04:32 发布

您现在位置:Python中文网/ 问答频道 /正文

我是新来的。我想从两个数组中创建几个数组。输入数组的行数和列数相同:

a = [1, 2, 3]
b = [4, 5, 6]

我想得到:

test1 = [1, 4] 
test2 = [2, 5] 
test3 = [3, 6]

我试着写一些代码如下:

test = [] 
a = [1, 2, 3] 
b = [4, 5, 6] 
for i in range(len(a)): 
    test[i] = [a[i], b[i]]

但它不起作用。如何获得所需的输出? 我知道你不理解我。我试图纠正: -实际上,我有三个以上的变量,这就是为什么我不能写:

test1, test2, test3 = zip(a,b)

-我真的需要这个格式:

test1=[1,4]
   .
   .
   .
testi=[ , ]
  • 我需要单独的数组,因为我想用这个做图表。你知道吗
  • 你们中的一些人认为我不需要单独的数组,好吧,但我怎样才能创建有67条曲线的图表呢?地址:

图表是XY轴,例如:数据X=[1,10],Y的数据: Y1 = test1 = [1,4] . . Y67 = test67 = [70,90] 如果我有列表的话,我怎么得到67条曲线的Y轴的数据呢?你知道吗


Tags: 数据代码intestforlen图表range
3条回答

由于您希望将输出作为三个显式数组,因此可以使用以下方法:

a = [1, 2, 3]
b = [4, 5, 6]
test1, test2, test3 = zip(a, b)

如果要继续,可以使用append将新元素添加到列表中:

test=[] 
a = [1,2,3] 
b = [4,5,6] 
for i in range(len(a)): 
    test.append([a[i], b[i]])

print test
>>> [[1,4], [2,5],[3,6]]

或者可以使用zip():

print zip(a, b)
>>> [(1,4), (2,5), (3,6)]

您可以使用bult in^{}方法。你知道吗

list_a = [1, 2, 3, 4]
list_b = [5, 6, 7, 8]

zip(list_a, list_b)

输出:

[(1, 5), (2, 6), (3, 7), (4, 8)]

如果需要列表而不是元组,可以使用如下列表理解:

lists = [list(i) for i in zip(list_a, list_b)]

输出:

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

相关问题 更多 >