List,tuple和array的区别

 我来答
huanglenzhi
2017-03-07 · 知道合伙人数码行家
huanglenzhi
知道合伙人数码行家
采纳数:117538 获赞数:517201
长期从事计算机组装,维护,网络组建及管理。对计算机硬件、操作系统安装、典型网络设备具有详细认知。

向TA提问 私信TA
展开全部
相同点:
1.长度都是固定的,不可变长
2.早期的Scala版本,Array、List都不能混合类型,只有Tuple可以,2.8版本以后,3者的元素都可以混合不同的类型(转化为Any类型)

不同点:
1.Array 中的元素值可变,List和Tuple中的元素值不可变
2.Array一般是先确定长度,后赋值,而List和Tuple在声明的时候就需要赋值
3.Array取单个元素的效率很高,而List读取单个元素的效率是O(n)
4.List和Array的声明不需要new关键字,而Tuple声明不管有无new 都可以

val arrayTest = Array(1,2,3,4) //正确
val arrayTest = Array(1,2,3,4) //错误<span style="font-family: Arial, Helvetica, sans-serif;"> </span>

[java] view plain copy
val listTest = List(1,2,3,4) //正确
val listTest = new List(1,2,3,4) //错误

val tupleTest = Tuple(1,2,"aaa") //正确
val tupleTest = new Tuple(1,2,"aaa") //正确
val tupleTest = (1,2,"aaa") //正确

5.当使用混合类型时,Array和List会将元素类型转化为Any类型,而Tuple则保留每一个元素的初始类型
6.访问方式不同,Array和List的下标从0开始,且使用小括号,而Tuple的下标从1开始,切使用点加下划线的方式访问,如:arrayTest(0), listTest(0); Tuple访问: tupleTest._1
ma...0@163.com
2017-03-07 · TA获得超过137个赞
知道小有建树答主
回答量:517
采纳率:0%
帮助的人:188万
展开全部
区别大了,首先tuple不能修改,然后python里面都是对象,有很多自带方法和属性,用起来可比c的数组灵活多了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式