Python教程(二)
Python基础教程(二)
-
Python包含6中内建序列:列表,元组,字符串,Unicode字符串,buffer对象和xrange对象。
列表和元组的主要区别:列表可以修改,如果根据要求添加元素,列表更合适;元组不能修改,在序列不能修改时,使用元组则更为合适
ed= ['Edward', 4] jo=['John', 5] database=[ed, jo] # 输出为 [ ['Edward', 4], ['John', 5]]
通用操作
-
索引:
greeting='Hello'; greeting[0]; greeting[-1]
-
分片:第1个索引是要提取的第一个元素编号,最后的索引分片后第1个元素的编号
number[3:6] #结果为3,4,5 number[7,10] #结果为7,8,9,其中索引号10不存在,但用表示结尾 number[-1,-3] #从结尾反向输出 number[ -1:] #从结尾反向输出到起始点 number[1:10:2] #步长为2
-
序列相加:只有相同类型的序列才能进行连接操作
[1, 2, 3] + "World!" #非法
-
乘法:序列重复N次
空列表初始化:用None表示什么都没有
sequence=[None]*10
-
成员资格:检查一个值是否这序列中,使用in运算符,返回True或False
users=['mlh', 'foo', 'bar'] 'bar' in users
-
长度,最小值和最大值:len(),min()和max()
列表
-
list函数:根据不同类型表达创建列表,适用于所有类型的序列
list('Hello') #结果为['H', 'e', 'l', 'l', 'o']
-
改变列表:元素赋值
x[1]=2
-
删除元素
del x[2]
-
分片赋值:
`name[2:]=list('ar')` #替换 `numbers[1:1]=[2, 3, 4]` #插入 `numbers[1:4]=[ ]` #删除
列表方法
-
方法:是一个与某些对象有紧密联系的函数,对象可能是列表,数字或字符串。调用形式:对象.方法(参数)
-
append: 用于在列表末尾追加新对象,其是直接修改原来的列表,而不是返回一个修改过的新列表
object.append(4)
-
count:统计某个元素在列表中出现的次数
-
extend:在列表的末尾一次性追加另一个序列的多个值,用新列表拓展原有列表
a=[1,2,3] b=[4,5,6] a.extend(b)
-
index:用于从列表中找出某个值第一个匹配项的索引位置
nights=['we', 'are', 'man'] nights.index('we') #返回0
-
insert:将对象插入到列表中
numbers.insert(3, 'four')
或numbers[3:3]=['four']
-
pop:移除列表中的一个元素(默认最后一个)
x.pop() #移除列表中的一个元素 x.pop(0) #移除第一个
-
remove:移除列表中某个值的第一个匹配项
x.remove['be']
-
reverse:将列表中的元素反向存放
x.reverse()
或list(reversed(x))
-
sort:在原位置对列表进行排序,缺省默认升序排列
y=x #无用,只是将x和y都指向同一个列表,x和y同时改变 y=x[:] #将x所有元素都赋给y
-
高级排序:将参数cmp,key与reverse输入到sort()
numbers.sort(cmp); x.sort(key=len); x.sort(reverse=True);
元组
元组与列表奕扬,也是一种序列。唯一不同的是元组不能修改,字符串也不能修改。用逗号分割一些值,则自动创建了元组。 1, 2, 3
返回(1, 2, 3)
。一个值的元组 42,
返回(42, )
-
tuple函数:与list函数基本一致,以一个序列作为参数,并把它作为转换为元组
tuple([1, 2, 3]) #返回(1, 2, 3)
-
元组的基本操作,除了创建元组和访问元组元素之外,操作基本与序列相同
-
元组可以在映射中当做键使用,而列表则不行;元组作为很多内建函数和方法的返回值存在
本章新函数
-
cmp(x, y) 比较两个值
-
len(seq) 返回序列的长度
-
list(seq) 把序列转换成列表
-
max(args) 返回序列或者参数集合中的最大值
-
min(args) 返回序列或者参数集合中的最小值
-
reversed(seq) 对序列进行反向迭代
-
sorted(seq) 返回已排序的包含seq所有元素的列表
-
tuple(seq) 把元素转换成元组