python列表的内置方法_Python内置方法详解
1. 字符串內(nèi)置方法詳解
為何要有字符串?相對于元組、列表等,對于唯一類型的定義,字符串具有最簡單的形式。
字符串往往以變量接收,變量名.可以查看所有的字符串的內(nèi)置方法,如:
1> count:統(tǒng)計(jì)字符個(gè)數(shù)。
a = 'hello,world'res= a.count('l') #統(tǒng)計(jì)字符串hello,world里面l的個(gè)數(shù)
print(res)
result:
E:\Learning\python_vir\yunwei\Scripts\python.exe E:/Learning/python/字符串.py3
2> index:索引。
與Redis數(shù)據(jù)庫類似,字符串索引從左往右從0開始,從右往左從-1開始。index從左往右查找字符的索引。
a = 'hello,world'res= a.index('o')
print(res)
result:4
rindex從右往左查找字符的索引,要注意的是,rindex匹配的是從右到左符合條件的第一個(gè)字符,但其計(jì)數(shù)是從做往右進(jìn)行的。
a = 'hello,world'res= a.rindex('o')
print(res)
result:7
index、rindex還可以在指定的范圍進(jìn)行查找,如(0,6)表示范圍。
a = 'hello,world'res= a.rindex('o',0,6)
print(res)
result :4
3> istitle:判斷字符串是否是抬頭(首字母大寫),返回布爾值。
a = 'hello,world'res=a.istitle()
print(res)
result:
False
a= 'Hello,world'res=a.istitle()
print(res)
result:
False
a= 'Hello,World'res=a.istitle()
print(res)
result:
True
a= 'Helloworld'res=a.istitle()
print(res)
result :
True
a= '周xuej'#不識別漢字
res=a.istitle()
print(res)
result:
False
4> isspace:判斷字符串是否全是空格。返回布爾值。
a = 'hello,world'res=a.isspace()
print(res)
result:
False
a= ' 'res=a.isspace()
print(res)
result:
True
5> isdigit:判斷字符串是否是整數(shù)。返回布爾值。
a = 'hello,world'res=a.isdigit()
print(res)
result:
False
a= '123'res=a.isdigit()
print(res)
result:
True
a= '123.123'res=a.isdigit()
print(res)
result:
False
6> endswith:判斷是否以…結(jié)尾,返回布爾值;startswith:判斷是否以…開頭,返回布爾值。
a = 'hello,world'res= a.endswith('d')
print(res)
result:
True
a= 'hello,world'res= a.endswith('ld')
print(res)
result:
True
a= 'hello,world'res= a.endswith('o')
print(res)
result:
False
7>find: 查找字符串的索引;rfind:從右往左查。
a = 'hello,world'res= a.find('o')
print(res)
result:4a= 'hello,world'res= a.find('ld')
print(res)
result:9
find與index的區(qū)別在于,index找不到匹配值會報(bào)錯(cuò),find找不到匹配值會返回-1。
a = 'hello,world'res= a.find('123')
print(res)
result:-1
8> isalnum:判斷是否是字母或者數(shù)字或者是兩者的任意組合(alpha number)。
a = 'hello,world'res=a.isalnum()
print(res)
result:
False
a= 'helloworld'res=a.isalnum()
print(res)
result:
True
a= '0706zxj'res=a.isalnum()
print(res)
result:
True
a= '0706'res=a.isalnum()
print(res)
result:
True
9> isalpha:判斷是否全是字母。
a = '0706zxj'res=a.isalpha()
print(res)
result:
False
a= 'littlezxj'res=a.isalpha()
print(res)
result:
True
10> islower:判斷字符串是否是小寫。
a = 'littlezxj'res=a.islower()
print(res)
result:
True
a= 'Littlezxj'res=a.islower()
print(res)
result:
False
11> isupper:判斷字符串是否是大寫。
a = 'Littlezxj'res=a.isupper()
print(res)
result:
False
a= 'LITTLEZXJ'res=a.isupper()
print(res)
result:
True
12> lower:把大寫字符變成小寫。
a = 'LITTLEZXJ'res=a.lower()
print(res)
result:
littlezxj
13> upper:把小寫換成大寫。
a = 'littlezxj'res=a.upper()
print(res)
result:
LITTLEZXJ
14> title:字符串變抬頭(首字母大寫)。
a = 'littlezxj'res=a.title()
print(res)
result:
Littlezxj
a= 'littlezxj lv'res=a.title()
print(res)
result:
Littlezxj Lv
15> split:分割,從左往右將字符串切分成列表;rsplit:從右往左將字符串切分成列表。
a = 'hello,world'res= a.split(',') #以‘,’分割,切一次分成兩塊列表
print(res)
result:
['hello', 'world']
a= '192.168.16.16'res= a.split('.') #以‘.’分割,切三次分成四塊列表
print(res)
result:
['192', '168', '16', '16']
a= '192.168.16.16'res= a.split('.',1) #以‘.’分割,從左往右只切一次
print(res)
result:
['192', '168.16.16']
a = '192.168.16.16'res= a.rsplit('.',2)
print(res)
result:
['192.168', '16', '16']
16> encode:轉(zhuǎn)碼。
a = '192.168.16.16'res= a.encode('utf-8')
print(res)
result:
b'192.168.16.16'#轉(zhuǎn)化成bit
a= '言念君子溫潤如玉'res= a.encode('utf-8')
print(res)
result:
b'\xe8\xa8\x80\xe5\xbf\xb5\xe5\x90\x9b\xe5\xad\x90\xe6\xb8\xa9\xe6\xb6\xa6\xe5\xa6\x82\xe7\x8e\x89' #轉(zhuǎn)換成16進(jìn)制
decode:解碼。
print(res.decode('utf-8'))
result:
言念君子溫潤如玉
gbk為中國的字符編碼,國外為ASSIC碼。
17> format:格式化輸出。
占位符 {}、%S(字符串)、%D(整型數(shù))等。
1. 替換占位符
name= '顏如玉'age= 23res= 'my name is {},my age is {}'.format(name,age) #前后順序?qū)?yīng)
print(res)
result:
my nameis 顏如玉,my age is 23
2. 以數(shù)字標(biāo)明順序
name= '顏如玉'age= 23res= 'my name is {0},my age is {1}'.format(name,age) print(res)
result:
my nameis 顏如玉,my age is 23name= '顏如玉'age= 23res= 'my name is {1},my age is {0}'.format(name,age)
print(res)
result:
my nameis 23,my age is顏如玉3. 變量賦值,可以一次性給相同的變量賦值
name= '顏如玉'age= 23res= 'my name is {name},my age is {age},my little name is {name}'.format(name=name,age=age)
print(res)
result:
my nameis 顏如玉,my age is 23,my little name is 顏如玉
18>? join:將可迭代對象變成字符串。括號里可以是字典、列表、元組、字符串。
res = ' '.join(['a','b','c']) #列表
print(res)
result:
a b c
res= '&'.join(['a','b','c'])
print(res)
result:
a&b&c
res= ' '.join(('a','b','c')) #元組
print(res)
result:
a b c
res= '&'.join(('a','b','c'))
print(res)
result:
a&b&c
res= ' '.join({'a':'1','b':'2','c':'3'}) #字典,默認(rèn)循環(huán)的身世key
print(res)
result:
a b c
19> strip:去除左右兩邊的字符,默認(rèn)為空格。
a = '齊靜春'res=a.strip()
print(a)
print(res)
result:
齊靜春
齊靜春
a= '===齊=靜=春==='res= a.strip('=')
print(a)
print(res)
result:===齊=靜=春===齊=靜=春 #只去除兩邊的字符
lscrip:去除左邊的字符,默認(rèn)為空格。
a = '===齊~靜~春==='res= a.lstrip('=')
print(a)
print(res)
result:===齊~靜~春===齊~靜~春===
rscrip:去除右邊的字符,默認(rèn)為空格。
a = '===齊~靜~春==='res= a.rstrip('=')
print(a)
print(res)
result:===齊~靜~春===
===齊~靜~春
20> replace:替換括號內(nèi)的字符。
a = '===齊~靜~春==='res= a.replace('=','')
print(a)
print(res)
result:===齊~靜~春===齊~靜~春
去掉多類型的字符:另起一行繼續(xù)去除或者
a= '------齊~靜~春==='res= a.replace('=','').replace('-','')
print(a)
print(res)
result:------齊~靜~春===齊~靜~春
a= '------齊~靜~春==='res= a.replace('-','+',3) #從左往右替換3個(gè)‘-’為‘+’
print(a)
print(res)
result:------齊~靜~春===
+++---齊~靜~春===
2. 列表內(nèi)置方法詳解
定義列表用中括號[]。包含多個(gè)元素時(shí)首先使用列表,列表調(diào)用元素較簡單。定義列表后用列表名.可以查看所有的內(nèi)置列表方法。
1> index:返回元素的索引,沒有就報(bào)錯(cuò)。
li = ['a','b','c','d']
res= li.index('c')
print(res)
result:2li= ['a','b','c','d']
res= li.index('e')
print(res)
result:
Traceback (most recent call last):
File"E:/Learning/python/列表.py", line 2, in res= li.index('e')
ValueError:'e' is not in list
2> count:統(tǒng)計(jì)元素個(gè)數(shù)。
li = ['a','b','c','d','a']
res= li.count('a')
print(res)
result:2
3> insert:在指定位置插入(按索引的位置)。
li = ['a','b','c','d','a']
li.insert(3,'a')
print(li)
result:
['a', 'b', 'c', 'a', 'd', 'a']
4> reverse:倒序、反轉(zhuǎn)。
li = ['a','b','c','d','a','e']
li.reverse()
print(li)
result:
['e', 'a', 'd', 'c', 'b', 'a']
5> sort:排序。
li = ['a','e','c','d','a','b']
li.sort()
print(li)
result:
['a', 'a', 'b', 'c', 'd', 'e']
li= ['a','e','c','d','1','b']
li.sort()
print(li
result:
['1', 'a', 'b', 'c', 'd', 'e']
li= ['a','e','c','_','1','b','$','@']
li.sort()
print(li)
result:
['$', '1', '@', '_', 'a', 'b', 'c', 'e']
li= ['a','e','c',1,'b',]
li.sort()
print(li)
result: #整型與字符串無法比較
TypeError:'
6>copy:復(fù)制列表。
li = ['a','e','c',1,'b',]
li.copy()
print(li)
result:
['a', 'e', 'c', 1, 'b']
7> clear:清空列表。
li = ['a','e','c',1,'b',]
li.clear()
print(li)
result:
[]
8>pop:取出表中指定的元素并從列表中刪除該元素。
li = ['a','e','c',1,'b',]
res= li.pop(2) #按索引取
print(li)
print(res)
result:
['a', 'e', 1, 'b']
c
9> append:追加到列表最后。
li = ['a','e','c',1,'b',]
li.append('zxj')
print(li)
result:
['a', 'e', 'c', 1, 'b', 'zxj']
10> remove:按默認(rèn)從左往右的順序刪除指定的元素。
li = ['a','e','c',1,'b',]
li.remove('c')
print(li)
result:
['a', 'e', 1, 'b']
11> extend:傳入可迭代對象,以單個(gè)元素為個(gè)體添加到列表中。
li = ['a','e','c',1,'b',]
li.extend('hello')
print(li)
result:
['a', 'e', 'c', 1, 'b', 'h', 'e', 'l', 'l', 'o'] #將字符串拆分成單個(gè)元素添加
li= ['a','e','c',1,'b',]
li.extend(['hello','world'])
print(li)
result:
['a', 'e', 'c', 1, 'b', 'hello', 'world'] #將列表拆分成單個(gè)元素添加
li= ['a','e','c',1,'b',]
li.extend({'name':'zxj','age':23})
print(li)
result:
['a', 'e', 'c', 1, 'b', 'name', 'age'] #字典循環(huán)的是key
3. 元組內(nèi)置方法詳解
列表可以用來放置元素,同時(shí)能夠修改,元組可以儲存多個(gè)值,元組通常是用來讀的,不能修改。存放同樣的元素,列表通常比元組占用的空間大。
1> count:統(tǒng)計(jì)元素個(gè)數(shù)。
tu = ('1','2','3','2','4','3')
res= tu.count('2')
print(res)
result:2
2> index:返回元素的索引值,沒有則報(bào)錯(cuò)。
tu = ('1','2','3','2','4','3')
res= tu.index('2')
print(res)
result:1tu= ('1','2','3','2','4','3')
res= tu.index('6')
print(res)
result:
ValueError: tuple.index(x): x notin tuple
4. 整數(shù)和浮點(diǎn)數(shù)
a = 100print(a)
result:100a= 88.88print(a)
result:88.88保留兩位小數(shù)
a= 88.954res= '%.2f' % a
print(res)
result:88.95
5. 集合內(nèi)置方法詳解
集合元素不能重復(fù),會自動去重。
s1 = {1,2,3,4,4,4,4,4}
print(s1)
result:
{1, 2, 3, 4}
集合內(nèi)置方法中copy、clear、remove、pop等于其他類型的內(nèi)置方法相同,在此不做贅述。
1> intersection:求交集。
s1 = {1,2,3,5,6,2,4}
s2= {1,2,3}
res=s1.intersection(s2)
print(res)
result:
{1, 2, 3}
2> difference:求差集。
s1 = {1,2,3,5,6,2,4}
s2= {1,2,3}
res= s1.difference(s2) #求s1和s2的差集,以s1-s2
print(res)
result:
{4, 5, 6}
res= s2.difference(s1) #s2-s1
print(res)
result:set()
3> union:求并集。
s1 = {1,5,6,4}
s2= {1,2,3}
res=s2.union(s1)
print(res)
result:
{1, 2, 3, 4, 5, 6}
4>issubset:是否是子集。
s1 = {1,5,6,4}
s2= {1,2,3}
res=s1.issubset(s2)
print(res)
result:
False
s1= {1,2,3,5,6,4}
s2= {1,2,3}
res=s2.issubset(s1) #s2是s1的子集
print(res)
result:
True
6. 字典內(nèi)置方法詳解
定義字典可以同時(shí)聲明key和對應(yīng)的value,簡單清晰的表名元素的屬性。
定義字典用{}。定義完字典后用字典名.可以查看所有的字典內(nèi)置方法。
1> copy:復(fù)制一份字典。
info ={'name' : '陌上人如玉','chara' : '公子世無雙'}
info.copy()
print(info)
result:
{'name': '陌上人如玉', 'chara': '公子世無雙'}
2> pop:取出key對應(yīng)的value,并將該value從字典中刪除。
info ={'name' : '陌上人如玉','chara' : '公子世無雙'}
res= info.pop ('name')
print(res)
print(info)
result:
陌上人如玉
{'chara': '公子世無雙'}
3> clear:清除字典。
info ={'name' : '陌上人如玉','chara' : '公子世無雙'}
info.clear( )
print(info)
result:
{}
4> setdefault:設(shè)置默認(rèn)值。如果沒有該key,則默認(rèn)添加。
info ={'name' : '陌上人如玉','chara' : '公子世無雙'}
info.setdefault('name','北方有佳人')
print(info)
result:
{'name': '陌上人如玉', 'chara': '公子世無雙'}
info={'name' : '陌上人如玉','chara' : '公子世無雙'}
info.setdefault('hobby','北方有佳人')
print(info)
result:
{'name': '陌上人如玉', 'chara': '公子世無雙', 'hobby': '北方有佳人'}
5> fromkeys:快速定義一個(gè)空字典。
res = {}.fromkeys(['name','age','high'], None)
print(res)
result:
{'name': None, 'age': None, 'high': None}
res= {}.fromkeys(['name','age','high'], [1,2,3])
print(res)
result:
{'name': [1, 2, 3], 'age': [1, 2, 3], 'high': [1, 2, 3]}
6> values:列出所有的value
info ={'name' : '陌上人如玉','chara' : '公子世無雙'}
res=info.values()
print(res)
result:
dict_values(['陌上人如玉', '公子世無雙'])
7> keys:列出所有的key
info ={'name' : '陌上人如玉','chara' : '公子世無雙'}
res=info.keys()
print(res)
result:
dict_keys(['name', 'chara'])
8> items:列出所有的key、value。
info ={'name' : '陌上人如玉','chara' : '公子世無雙'}
res=info.items()
print(res)
result:
dict_items([('name', '陌上人如玉'), ('chara', '公子世無雙')])
9> get:根據(jù)key取值,并不刪除字典內(nèi)容。沒有對應(yīng)內(nèi)容返回None,不可以賦值。
info ={'name' : '陌上人如玉','chara' : '公子世無雙'}
res= info.get('name')
print(res)
print(info)
result:
陌上人如玉
{'name': '陌上人如玉', 'chara': '公子世無雙'}
info={'name' : '陌上人如玉','chara' : '公子世無雙'}
res= info.get('顏如玉')
print(res)
result:
None
10> 取值還可以用[‘key’]進(jìn)行,其沒取到時(shí)會報(bào)錯(cuò)。如:
info ={'name' : '陌上人如玉','chara' : '公子世無雙'}
res= info['name']
print(res)
result:
陌上人如玉
info={'name' : '陌上人如玉','chara' : '公子世無雙'}
res= info['顏如玉']
print(res)
result:
res= info['顏如玉']
KeyError:'顏如玉'
利用[ ]取值可以進(jìn)行賦值。
info ={'name' : '陌上人如玉','chara' : '公子世無雙'}
info['name'] = '遺世而獨(dú)立'print(info)
result:
{'name': '遺世而獨(dú)立', 'chara': '公子世無雙'}
11> update:把兩個(gè)字典合并成一個(gè)字典,如果鍵值重復(fù),則值更新鍵值對應(yīng)的value。
info ={'name' : '陌上人如玉','chara' : '公子世無雙'}
info.update({'lover':'一顧傾人城'})
print(info)
result:
{'name': '陌上人如玉', 'chara': '公子世無雙', 'lover': '一顧傾人城'}
info={'name' : '陌上人如玉','chara' : '公子世無雙'}
info.update({'name':'一顧傾人城'})
print(info)
result:
{'name': '一顧傾人城', 'chara': '公子世無雙'}
7. 切片
切片即取值。
定義列表、元組、字符串、字典:
l1 = [1,2,3,4]
t1= (1,2,3,4)
str1= 'wonderful'info= {'yeal':'so','adj':'beautiful'}
利用[index]取值。需要注意的是,字典并沒有index,因此該方法對字典無效。其余類型正向取值index依次為0、1、2……,反向取值依次為……-2、-1。
取列表里的值:
res= l1[3]
print(res)
result:4res= l1[-3]
print(res)
result:2取元組里的值:
res= t1[3]
print(res)
result:4取字符串里的值
res= str1[3]
print(r
result:
d
res= str1[-3]
print(res)
result:
f
用[index]截取區(qū)域元素,即切片。主要格式為[start : end : step],這種方法顧頭不顧尾,即能取到start,但不包括end;step表示步長,在start-end范圍內(nèi)每隔step取一次。
res = l1[0:3]
print(res)
result:
[1, 2, 3]
res= t1[-1:-4] #取值是從左到右正向取的,因此-1~-4取不到任何值,
print(res)
result:
()
res= t1[-4:-1]
print(res)
result:
(1,2,3)
res= str1[4:] #只取index>=4的元素
print(res)
result:
erful
res= str1[:6] #只取index<6的元素
print(res)
result:
wonder
res= str1[0:8:2] #以步長為2截取0<=index<8范圍的元素
print(res)
result:
wnef
總結(jié)
以上是生活随笔為你收集整理的python列表的内置方法_Python内置方法详解的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 4GB和8GB内存混用:性能惊喜大揭秘
- 下一篇: 固态硬盘内存容量选择:250GB够用吗?