元组 Tuple
+元组即不可变(immutable)列表
除了可改变列表内容的方法外,其他方法均适用于元组
因此,索引、切片、len()、print等均可用
但是,appeng、extend、del等不可用
+使用,(可以加())创建元组
my_tuple = 1,'a',3.14,True
my_tuple = (1,'a',3.14,True)
+为什么需要元组?
保证列表内容不被修改
元组赋值
交换两个值
temp = a
a = b
b = temp
或者
a,b = b,a
b赋值给a,a赋值给b,这个过程同时进行
切分一个邮件地址
name,domain = 'car@xx.com'.split('@')
分两部分,@之前的用户名,@之后的域名
函数和元组
+函数只能有一个返回值
但是该值可以是一组值,如返回一个元组
+如同时返回列表中的最大和最小值
DSU模式
+Decorate,Sort and Undecorate(DSU)模式
+装饰、排序和反装饰
如根据单词的长度对一个单词列表进行排序
words = ['abc','defgh','df','lsefgd']
#decorate
lst = []
for word in words:
lst.append((len(word),word))
#sort
lst.sort(reverse = True)
#undecorate
res = []
for length,word in lst:
res.append(word)
print res
用匿名函数 lambda
words = ['abc','defgh','df','lsefgd']
words.sort(key = lambda lst: len(lst),reverse = True)
print words