note10 元组

元组 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
原文地址:https://www.cnblogs.com/OceanF/p/10780740.html