Python笔记
第一章 列表和元祖
1.通用序列操作
所有序列都可以进行某些特定操作,包括:索引(indexing)、分片(slicing)、加(adding)、乘(multiplying)以及检查某元素是否属于列表成员。
迭代:依次对序列中的每个元素重复执行某些操作。
序列的索引:通过元素在列表中的位置可以定位到该元素,这就是列表的索引,使用类似于list[0]对元素进行索引,索引0指向第一个元素。也可使用负数对元素进行索引,使用负数对元素索引时,列表中的最后一个元素由-1表示,例如list[-1]就是该列表的最后一个元素。
序列的分片:序列的分片操作需要提供两个索引作为边界,第一个索引的元素包含在分片内部,第二个索引的元素不包含在分片内部。例如需要取出列表中第三位到第五位的元素可以使用list[2:5],若分片所得部分包含列表的尾部可以将第二个索引置为空。例如list[3:],同样,对于列表首部的元素也可以这样,例如list[:-5]。
对于分片,还有一个步长的参数,该参数可以是隐式设置,隐式设置中,步长是1。分片操作按照该步长遍历序列中元素。例如list[0:5:2]就是以步长为二遍历出列表中从开头到第五位元素。当然,步长也可以为负数,为负数时表示从右到左进行遍历。
列表的加:列表可以进行相加,变成一个更大的列表list=list1+list2,但是限制是相同类型的列表才可以进行相加。虽然字符串也是列表,但是列表和字符串是无法直接相加的。
列表的乘:用一个数字乘以一个列表将会生成一个新的列表,该新列表内容江油老序列重复N次。列表内容为空可以使用None表示,list=[None]*10表示生成一个占用十个空位置的列表。
列表的成员资格:可使用in运算符检查某元素是否是该列表的成员。其返回值是一个布尔类型的值,如果是该列表成员,则返回True,否则返回Flse。例如‘a‘ in list操作。
列表的几个内置函数:len、max和min是列表中的内置函数。len函数返回列表包含元素的数量。max和min函数分别返回列表中最大和最小的元素,列入len(list)、max(list)、min(list)
2.列表的操作
列表又被称为python中的”苦力“,列表是可变的,有很多内置方法可以对列表进行操作。
字符串的列表化:可使用list对字符串进行列表化,例如list(’hello‘)将该字符串以字符为单位进行列表化。
列表基本操作:
给列表元素赋值:list[3] = 5,将5赋值给列表中的第四个元素
删除列表中元素:del list[3],将列表中第四个元素删除
分片赋值:可使用与原序列不等长序列将分片替换list1[2:3]=list2,分片赋值还可以在不需要替换任何原有元素的情况下插入新的元素list[3:3]
列表的方法:
1. append:在列表末尾追加新的对象,例如list.append(4)将4追加到list的末尾。
2. count:统计某个元素在列表中出现的次数(只能统计当前层中List中的元素)例如list.count(‘a‘)
3. extend:可以在列表的末尾追加另一个列表,和列表连接操作相似,但是列表连接操作返回一个新的列表,extend返回的是原来列表扩展后的列表,效率比列表连接操作高。例如list1.extend(list2)
4. index:从列表中找到某个值第一个匹配项的索引位置例如list.index(‘a‘)
5. insert:将对象插入到列表的指定位置,例如list.insert(3,‘a‘)插入的位置在insert的参数中定义的位置,原先在该位置的值将依次往后移一位
6. pop:移除列表中的一个元素(默认最后一个),并返回该元素的值。list.pop(3)就是将第四个位置的值删除并返回该值。python中没有入栈的方法,但是可以结合使用append和pop方法实现栈的功能(先进先出,后进先出)
7. remove:移除列表中某个元素的第一个匹配项,list.remove(‘a‘)会移除掉第一个匹配的a,但是不管有没有匹配到该元素都不会有返回值。
8. reverse:将列表中的元素反向存放,list.reverse(),同样没有返回值。
9. sort:在原位置的列表基础上对列表进行排序,而不是返回一个排序好的副本。list.sort()该方法也没有返回值。
10. sorted:该方法对源列表进行排序,并返回一个新的排序好的列表副本,该操作将不会修改源列表的顺序,list2=list1.sorted()
11. 高级排序:如果想要自己定义排序规则可以定义一个函数,compare(x,y)当x<y时返回负数,x>y时返回正数,x=y则返回0定义好函数后可将该函数作为sort的参数传递进sort里面进行排序,另,sort还有两个可选参数key和reverse,若需要使用则需通过关键字参数指定,key的值为在排序过程中使用的函数,例如list.sort(key=len)则排序方式为按照元素的长度进行排序。reverse的值为一个bool类型的值,如果为True则进行反向排序,默认是False例如list.sort(reverse=True)就是进行反向排序。
3.元祖的操作
元祖也是一种序列,不同的是元祖不能被修改,元祖的创建形式为(1,2,3)特殊的包含一个元素的元祖(1,)在该元素后面加上一个逗号。另外,元祖没有列表的方法。
tuple函数:该函数可将一个序列转换为元祖,例如tuple([1,2,3])
元祖的作用:可以在映射中当做键使用,而列表不行,元祖作为很多内建函数和方法的返回值存在。
本文出自 “柠檬” 博客,请务必保留此出处http://xianglinhu.blog.51cto.com/5787032/1767111
原文地址:http://xianglinhu.blog.51cto.com/5787032/1767111