python中的list和array的不同之处
来源:互联网 发布:mysql 自动记录时间 编辑:程序博客网 时间:2024/06/06 19:38
python中的list是python的内置数据类型,list中的数据类不必相同的,而array的中的类型必须全部相同。
在list中的数据类型保存的是数据的存放的地址,简单的说就是指针,并非数据,这样保存一个list就太麻烦了
例如list1=[1,2,3,'a']需要4个指针和四个数据,增加了存储和消耗cpu。
1、numpy中封装的array有很强大的功能,里面存放的都是相同的数据类型
list1=[1,2,3,'a'] print list1 a=np.array([1,2,3,4,5]) b=np.array([[1,2,3],[4,5,6]]) c=list(a) # array到list的转换 print a,np.shape(a) print b,np.shape(b) print c,np.shape(c)
运行结果:
[1, 2, 3, 'a'] # 元素数据类型不同,并且用逗号隔开 [1 2 3 4 5] (5L,) # 一维数组,类型用tuple表示 [[1 2 3] [4 5 6]] (2L, 3L) [1, 2, 3, 4, 5] (5L,)
注意:
如果a是array,结果是:[1 2 3 4 5]
如果a是list,结果是:[1, 2, 3, 4, 5]
2、array的创建:参数既可以是list,也可以是元组.使用对应的属性shape直接得到形状
a=np.array((1,2,3,4,5))# 参数是元组 b=np.array([6,7,8,9,0])# 参数是list c=np.array([[1,2,3],[4,5,6]])# 参数二维数组 print aprint bprint cprint c.shape
结果:
[1 2 3 4 5][6 7 8 9 0][[1 2 3] [4 5 6]](2L, 3L)
3、也可以直接改变属性array的形状,-1代表的是自己推算。这里并不是T, reshape(())也可以
1)
c = np.array([[1, 2, 3, 4],[4, 5, 6, 7], [7, 8, 9, 10]])print c.shape # (3L, 4L)c.shape=2,-1print c.shapec.shape=4,-1print c.shape
结果:
(3L, 4L)(2L, 6L)(4L, 3L)
2)
c1 = np.array([[1, 2, 3, 4],[4, 5, 6, 7], [7, 8, 9, 10]])d=c1.reshape((4,-1))#d 已变成4 行3 列d[1:2]=66 #把第1行所有元素变为66print dd[1:3]=66 #把第1,2 两行所有元素变为66print d
结果:
[[ 1 2 3] [66 66 66] [ 6 7 7] [ 8 9 10]][[ 1 2 3] [66 66 66] [66 66 66] [ 8 9 10]]
X1=np.array([[1,2],[3,5],[1,9],[3,4],[1,8],[3,14],[1,10],[31,4]])nn = np.array([2,3,5,7])print X1[nn] #显示第2,3,5,7 行的内容
结果:
[[ 1 9]
[ 3 4]
[ 3 14]
[31 4]]
阅读全文
0 0
- python中的list和array的不同之处
- python中的list和array的不同之处
- python中的list和array的不同之处
- python中的list和array的不同之处
- python中的list和array的不同之处
- python中的list和array的不同之处
- python中的list和array的不同之处
- python中的list和array的区别
- Python中的list,array
- python内置array模块,与numpy中的array和list之间的转换
- python中的list和array的不同及Python的各种推导式
- python中array和list的区别
- List和iterate不同之处:
- python调用mysql和postgresql的不同之处
- Python和C++的不同之处(二)
- python 和 Java 的不同之处之String
- Java中的List和Array
- Redis中的List类型与消息队列的不同之处。
- oracle在group by时某列有多个值的拼接
- 利用Sqoop实现MySQL与HDFS数据互导
- Sphinx -- windows的安装
- Gradle所有版本下载地址
- netfilter防火墙
- python中的list和array的不同之处
- iOS 记录之 Git介绍篇
- IDEA 常用快捷键
- 《nodejs开发指南》express4.x版-微博案例完整实现
- 高通4G全网通骁龙410系列-MSM8916(M9+) ( Cortex-A53架构)
- 生活小常病
- python 变量前怎么加r
- Angular4笔记(二)
- Google Play 开发者平台的 【登录】,【上传图片】,【上传APK】失败的问题