小白之Python-基础中的基础04
继续。。
------------------------华丽的分界线-----------------------------
Python-基础中的基础04
--之方法
格式:对象.方法()
1.append():用于在列表末尾追加新的对象---对应移除的方法是pop()
append方法与在java中的意义一致,都是直接修改原来列表/数组。并不是返回一个新的列表/数组
numberlist = [1,2,3,4,5,6] numberlist.append(7) print numberlist ---------- [1, 2, 3, 4, 5, 6, 7]
2.count():用于统计某个元素在列表中出现的次数
count = ['to','be','or','not','to','be',].count('to') print count ---------------- 2 x = [[1,2],1,1,[2,1,[1,2]]] print x.count(1) print x.count([1,2]) --------------- 2 2
3.extend(): 用于在列表末尾一次性追加另一个序列中的多个值(两个列表合并的意思)
#extend方法会改变调用该方法序列的值 a = [1,2,3] b = [4,5,6] a.extend(b) print a print b ------------- [1, 2, 3, 4, 5, 6] [4, 5, 6]
#列表+连接方式不会改变原列表的值,a+b后生成一个新的列表序列 a = [1,2,3] b = [4,5,6] print a print b print a+b ------------- [1, 2, 3] [4, 5, 6] [1, 2, 3, 4, 5, 6]
4.index:用于从列表中找出某个值第一个匹配项的。
maomao =['mao','mao','shi','zhi','zhu'] print maomao.index('zhu') print maomao[4] print maomao[len(maomao)-1] print maomao[len(maomao)-1:] print maomao.index('benben') ----------------- 4 zhu zhu ['zhu'] print maomao.index('benben') ValueError: 'benben' is not in list
5.insert:用于将对象插入到列表
两种方式:insert方法和分片方法
number = [1,2,3,5,6,7] number.insert(3,'four') #insert方法 print number number[3:3]=['four2'] #分片方法 print number --------------- [1, 2, 3, 'four', 5, 6, 7] [1, 2, 3, 'four2', 'four', 5, 6, 7]
6.pop:移除列表中的一个元素,默认最后一个,并返回该元素的值
是唯一一个既能修改列表又返回元素值的列表方法
number = [1,2,3,5,6,7] print number.pop() #唯一一个有返回值的列表方法,其他的如append、sort、reverse都没返回值 print number print number.pop(4) print number print number.pop(len(number)-1) print number print ('-'*15) print number.append(number.pop()) print ('-'*15) number.append(number.pop()) print number ------------------------ 7 [1, 2, 3, 5, 6] 6 [1, 2, 3, 5] 5 [1, 2, 3] --------------- None #number.append(number.pop())中append(number.pop())没有返回值,所以调用后为None --------------- [1, 2, 3]
7.remove:移除列表中某个值的第一个匹配项,但不返回该元素的值(与pop相反)
print ('-'*30) maomao =['mao','mao','shi','zhi','zhu'] print maomao.remove('mao') print maomao ------------------------------ None ['mao', 'shi', 'zhi', 'zhu']
8.reserve:将列表中的原色反向存放
#只能用于列表中 maomao =['mao','mao','shi','zhi','zhu'] maomao.reverse() print maomao ---------------------- ['zhu', 'zhi', 'shi', 'mao', 'mao']
reversed方法可用于列表或者序列 #reversed方法返回的不是列表,返回迭代器iterator对象,需要用liest转换城列表 number=[1,2,3] print list(reversed(number)) ---------------- [3, 2, 1] x="name" print list(reversed(x)) --------------------- ['e', 'm', 'a', 'n']
9.sort:用于在原位置对列表进行排序。会改变原有列表的元素顺序
#sort()方法调用后,直接改变x列表的元素顺序 x=[1,3,4,5,3,2,24,6,63,42,32] x.sort() #x.sort()方法调用后,不会直接返回值,会返回空值,所以不能直接在调用别的方法 print x ---------------------------- [1, 2, 3, 3, 4, 5, 6, 24, 32, 42, 63]
但如即需要原列表值,又需要排序后的列表值,就需要把原列表copy出一份,在进行sort排序
copy方式有两种:
1.用分片方法,copy出列表
2.用sorted()方法,copy出列表,sorted方法适用于所有序列类型,返回值类型为list
#.用分片方法 x=[1,3,4,5,3,2,24,6,63,42,32] y=x[:] y.sort() print x print y ---------------------------- [1, 3, 4, 5, 3, 2, 24, 6, 63, 42, 32] [1, 2, 3, 3, 4, 5, 6, 24, 32, 42, 63] #用sorted()方法 x=[1,3,4,5,3,2,24,6,63,42,32] y=sorted(x) print x print y ---------------------------- [1, 3, 4, 5, 3, 2, 24, 6, 63, 42, 32] [1, 2, 3, 3, 4, 5, 6, 24, 32, 42, 63] sorted方法适用于所有序列类型,返回值类型为list sorted方法会返回列表,可继续调用其他方法,如逆序 print sorted('python') ---------------------------- ['h', 'n', 'o', 'p', 't', 'y'] #sorted方法按照默认顺序排序 升序 x=sorted('python') print x print list(reversed(x)) ---------------------- ['h', 'n', 'o', 'p', 't', 'y'] ['y', 't', 'p', 'o', 'n', 'h'] print sorted('python') print list(reversed(sorted('python'))) #reversed方法返回的不会列表,返回迭代器对象,需要用liest转换城列表 ---------------------- ['h', 'n', 'o', 'p', 't', 'y'] ['y', 't', 'p', 'o', 'n', 'h']
10.高级排序概念引入
compare(x,y)是一个比较函数
x<y,返回负数
x>y,返回正数
x=y,返回0
--->内建函数cmp实现该方式
print cmp(3,5) print cmp(6,2) print cmp(2,2) -------------- -1 1 0 mm=[2,3,5,3,2] mm.sort() print mm mm=[2,3,5,3,2] mm.sort(cmp) print mm --------------- [2, 2, 3, 3, 5] [2, 2, 3, 3, 5]
另一种排序方式,引入key函数,key函数作为排序的键,由用户自定义后赋值给sort
x=['wer','werwerq','trewtr','ewrewrwewer'] x.sort(cmp=None, key=len, reverse=False) # key值是序列元素的len长度 print x x=['wer','werwerq','trewtr','ewrewrwewer'] x.sort(key=len) #key值是序列元素的len长度 print x --------------- ['wer', 'trewtr', 'werwerq', 'ewrewrwewer'] ['wer', 'trewtr', 'werwerq', 'ewrewrwewer']
。。。嗯,越来越多东西。。喵了个咪(o゚▽゚)o

浙公网安备 33010602011771号