Python中List(列表)和tuple(元组)的差别

初看起来,除了语法结构上的区别

tuple
tup1 = (‘physics’, ‘chemistry’, 1997, 2000);
tup2 = (1, 2, 3, 4, 5 );
tup3 = “a”, “b”, “c”, “d”;
list
list1 = [‘physics’, ‘chemistry’, 1997, 2000];
list2 = [1, 2, 3, 4, 5 ];
list3 = [“a”, “b”, “c”, “d”];

tuple好像只是不可变的list. 但是如果把python的这种语法特性放到特定的语义当中,两者的差别便体现出来了.
例如:

>>>import time
>>>time.localtime()
Local current time : time.struct_time(tm_year=2013, tm_mon=7,
tm_mday=17, tm_hour=21, tm_min=26, tm_sec=3, tm_wday=2, tm_yday=198, tm_isdst=0)

可以看到上面的time.localtime() 方法输出的结果是一个tuple,它是不可变的.而它要表达的意思则是当前时间,对于一个具体的时刻来说,每一个数值代表的意思也是一一对应不变得,这跟tuple的语法特点也是相对应的.
类似的情况还有试用sql查找输出的结果result 也是tuple,而sql结果的tuple中的每个数值,跟数据库中的字段也是一一对应的.
相反,sql结果集resultSet 中每一个成员代表一个搜索结果,他们相互的关系是对等的,是可以相互替换的,这也是python中给list中的成员的定位.

参考文章: http://news.e-scribe.com/397

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值