示例:
array[0] = [item1,item2]
array[1] = [item1,item2]
array[2] = [item1,item2]
array[3] = [item1,item2]
如何在python中创建这样的数组?
答案 0 :(得分:1)
至少有两种看起来相似但实际上完全不同的方式:
第一种方法是创建一个二维数组:
import numpy as np
foo = np.array([[0,1],[2,3],[4,5],[6,7]])
# foo = np.arange(4*2).reshape(4,2) # this does the same thing
print(foo[0]) # the first row of `foo`
# [0 1]
print(foo[1]) # the second row of `foo`
# [2 3]
第二种方法是创建一个dtype 'object'
的一维数组,其中的对象是Python列表:
bar = np.empty(4, dtype='object')
bar[0] = [0,1]
bar[1] = [2,3]
bar[2] = [4,5]
bar[3] = [6,7]
print(bar[0])
# [0, 1]
print(bar[1])
# [2, 3]
请注意,在第一个示例中,foo[0]
是NumPy数组。在第二个示例中,bar[0]
是一个Python列表。
在foo
上进行的数值计算往往比在bar
上进行的类似操作快得多。如果存储在Python列表中的项是数字和/或同类型(例如所有字符串),则使用更高维NumPy数组往往是比dtype object
的NumPy数组更好的选择。 (特别是对于数值数据,不仅使用非对象dtypes的同类数组有速度优势,而且,一些NumPy函数不适用于object
dtype的数组。)
答案 1 :(得分:0)
'item1'和'item2'是什么类型的?它们也是同一类型吗?请参阅下面的示例。
your_array = [[5,3], [3,6], [4, 9]] # you could do this
print(your_array[0]) # would print [5,3]