如何在Python中声明数组?
当前回答
您可以创建列表并将其转换为数组,或者您可以使用numpy模块创建数组。下面是几个例子来说明这一点。Numpy还使使用多维数组变得更容易。
import numpy as np
a = np.array([1, 2, 3, 4])
#For custom inputs
a = np.array([int(x) for x in input().split()])
您还可以使用使用输入作为矩阵维数的重塑函数将该数组重塑为2X2矩阵。
mat = a.reshape(2, 2)
其他回答
是这样的:
my_array = [1, 'rebecca', 'allard', 15]
这样如何……
>>> a = range(12)
>>> a
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]
>>> a[7]
6
在Python中,这是一个非常复杂的主题。
实际回答
数组由类列表表示(请参阅参考,不要将它们与生成器混合)。
看看用法示例:
# empty array
arr = []
# init with values (can contain mixed types)
arr = [1, "eels"]
# get item by index (can be negative to access end of array)
arr = [1, 2, 3, 4, 5, 6]
arr[0] # 1
arr[-1] # 6
# get length
length = len(arr)
# supports append and insert
arr.append(8)
arr.insert(6, 7)
理论的答案
实际上,Python的列表是一个实际数组的包装器,其中包含对项的引用。此外,创建底层数组时还使用了一些额外的空间。
这样做的后果是:
随机访问非常便宜(arr[6653]与arr[0]相同) 附加操作是“免费的”,而一些额外的空间 插入操作是昂贵的
看看这个令人敬畏的操作复杂度表。
另外,请看看这张图,在这里我试图展示数组,引用数组和链表之间最重要的区别:
你不需要在Python中声明任何东西。你只需使用它。我建议你从http://diveintopython.net开始。
继Lennart之后,还有实现同构多维数组的numpy。
推荐文章
- 使用python创建一个简单的XML文件
- APT命令行界面式的yes/no输入?
- 如何打印出状态栏和百分比?
- 在Python中获取大文件的MD5哈希值
- 在Python格式字符串中%s是什么意思?
- 如何循环通过所有但最后一项的列表?
- 如何在Java中将int[]转换为Integer[] ?
- python用什么方法避免默认参数为空列表?
- ValueError: numpy。Ndarray大小改变,可能表示二进制不兼容。期望从C头得到88,从PyObject得到80
- Anaconda /conda -安装特定的软件包版本
- 我在哪里调用Keras的BatchNormalization函数?
- 打印测试执行时间并使用py.test锁定缓慢的测试
- 插入一行到熊猫数据框架
- 要列出Pandas DataFrame列
- 在Django模型中存储电话号码的最佳方法是什么?