python中的list是python的内置数据类型,list中的数据类不必相同的,而array的中的类型必须全部相同。在list中的数据类型保存的是数据的存放的地址,简单的说就是指针,并非数据,这样保存一个list就太麻烦了,例如list1=[1,2,3,'a']需要4个指针和四个数据,增加了存储和消耗cpu。
numpy中封装的array有很强大的功能,里面存放的都是相同的数据类型
运行结果:
注意:列表list中的元素之间用逗号隔开,而数组中的数据是没有逗号隔开的
而range()函数和arange()函数的区别
range(start, end, step),返回一个list对象也就是range.object,起始值为start,终止值为end,但不含终止值,步长为step。只能创建int型list。
arange(start, end, step),与range()类似,也不含终止值。但是返回一个array对象。需要导入numpy模块(import numpy as np或者from numpy import*),并且arange可以使用float型数据。
>>> from numpy import*
>>> arange(1,1.9,0.1) #可以是float型
array([ 1. , 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 1.7, 1.8])
>>> range(1,10,2) #range(1,10,2)不会生成[1,3,5,6,9]而是生成一个list对象
range(1, 10, 2)
>>> for value in range(1,10,2)
SyntaxError: invalid syntax
>>> for value in range(1,10,2):
print(value)
1
3
5
7
9
>>> valuelist=list(range(1,10,1))
>>> print(valuelist)
[1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> valuelist=list(range(1,10,0.1)) #range必须是int型
>>> print(valuelist)
SyntaxError: multiple statements found while compiling a single statement
>>>