python字符串,列表,字符串,元組,集合的一些方法


字符串方法

1 __contains__       #等同in
2 
3 name = 'erroy'
4 result = name.__contains__('er')   #判斷元素是否包含er
5 print(result)
6 
7 True    #結果

__divmod__  #求網頁的分頁情況應該划分多少

1 all_item=95
2 result =all_item.__divmod__(10)
3 print(result)
4 
5 (9, 5)  #結果

capitalize()   #首字母大寫

1 name ='eric'
2 result=name.capitalize()
3 print(result)
4 
5 Eric  #結果

center()    #居中

1 name='123'
2 result=name.center(20,',')
3 print(result)
4 
5 ,,,,,,,,123,,,,,,,,,   #結果

count()     #判斷一個元素出現在字符串里幾次

1 name='asdasasfasd'
2 result = name.count('d')
3 print(result)
4     
5 2       #結果

encode()    #字符編碼轉換

1 name ='asdasd'
2 result = name.encode('gbk')
3 print(result)
4 
5 b'asdasd'   #結果

endswith()  #判斷是不是以什么結尾的

 1 name = 'asdasdfe'
 2 result = name.endswith('e')
 3 print(result)
 4 
 5 True    #結果
 6 
 7 result = name.endswith('e',0,3)  #判斷是不是這個區間結尾的。
 8 print(result)
 9 
10 False   #結果

startswith()    #判斷是不是什么開頭

1 name='alex'
2 if name.startswith('a'):
3     print('yes')
4 \yes

expandtabs()    #把tab轉換成空格

1 name = 'a\tles'
2 result = name.expandtabs(tabsize=30)    #可以指定轉換成多少空格不常用
3 print(result)   
4 
5 a                             les   #結果

find()      #查找返回元素的索引值

1 name = 'alex'
2 result = name.find('x')
3 print(result)
4 print(name[name.find('name'):])
5 
6 3       #結果
7 x

format()    #格式化字符

 1 name ='alex{0} as id{1}'
 2 result = name.format('sb','eric')
 3 print(result)
 4 
 5 alexsb as ideric  #結果
 6 
 7 name = 'alex{name}as{id}'
 8 result = name.format(name='sb',id='eric')
 9 print(result)
10 
11 alexsbaseric  #結果

index()     #查找元素的索引值,不存就報錯,返回布爾值

1 name = 'asexdsaex'
2 result = name.index('ex')
3 print(result)
4 
5 2   #結果

isalnum()   #判斷是不是阿拉伯數字或字母,返回布爾值

1 print('abc123'.isalnum())
2 
3 Treu        #結果

isalpha()   #判斷是不是英文字符,返回布爾值

1 print('abA'.isalpha())
2 
3 True    #判斷結果

isdecimal()     #判斷是不是10進制數

1 print('11a'.isdecimal())
2 
3 False   #結果

isdigit()       #判斷是不是數字

1 name = '123'
2 print(name.isdigit())
3 if"123".isdigit():
4     print('1A'.isdigit())
5 
6 True    #結果
7 False

isspace()       #判斷是不是空格,完全是空格才是真

1 print(' 1'.isspace())  
2 
3 False   #結果

istitle()   #判斷是不是標題

1 print('My  name s '.istitle())
2 
3 False   #結果

isupper()   #判斷是不是全部是大寫

1 print('MY NAME IS'.isupper())
2 
3 True    #結果

join()  #拼接

1 li = ['s','a','e','x']
2 result=''.join(li)  #雙引號之間可以設置想要用什么相隔開
3 print(result)
4 
5 saex    #結果

lower()     #將字母變小寫

1 print('AAA'.lower())
2 
3 aaa     #結果

upper()     #講字母變大寫

1 print('aaa'.upper())
2 
3 AAA     #結果

strip()     #去掉兩邊空格,包括換行符和tab

1 print(' alex\n'.strip())
2 
3 alex    #結果

maketrans()     #起到對應關系的作用

 1 intab = 'aeiou'
 2 outtab = '12345'
 3 trantab = str.maketrans(intab,outtab)
 4 print(trantab)
 5 p = str.maketrans('abcdef','123456')
 6 print(p)
 7 print('alex li'.translate(p))
 8 
 9 
10 {97: 49, 101: 50, 105: 51, 111: 52, 117: 53}    #結果
11 {97: 49, 98: 50, 99: 51, 100: 52, 101: 53, 102: 54}
12 1l5x li

partition() #分割

1 name = 'alexissb'
2 result = name.partition('is')
3 print(result)
4 
5 ('alex', 'is', 'sb')    #結果

replace()   #替換元素

1 name='alexissb'
2 result=name.replace('a','o',1)
3 print(result)
4 
5 olexissb    #結果

rfind()     #從左往右找,找到最右邊的下標

1 name='aaaa'
2 print(name.rfind('a'))
3 
4 3   #結果

rindex()    #從右開始找元素,沒有就報錯

1 name='aaaa'
2 print(name.rindex('a'))
3 
4 3        #結果

split()  #指定分隔符切割

1 t=('1+2+3+4'.split('+'))  #會分割成列表
2 print(t,type(t))
3 
4 ['1', '2', '3', '4'] <class 'list'>    #結果

splitlines() #根據換行符分割,能幫你識別windows下的換行符和linux下的換行符,會切割成列表

1 print('1+2\n+3+4'.splitlines())
2 ['1+2', '+3+4']        #結果

swapcase()  #大小寫轉換

1 print('Alex Li'.swapcase())
2 aLEX lI    #結果

 

list 列表的方法

copy()    #拷貝

 1 names = ['4ZhangYang','#1Gunyun','xXiangPeng',["alex","jack"],'ChenRonghua']
 2 name2 = names.copy()
 3 print(names)
 4 print(name2)
 5 names[2] = "向鵬"
 6 names[3][0] = "alexder"
 7 print(names)
 8 print(name2)   #第二層列表會復制一份內存地址
 9 print(names[0:-1:2])
10 for i in names:
11     print(i)
12 如果列表等於列表,那都引入一個內存地址
13 
14 如果想改變下,可以引入深copy
15 import copy
16 names = ['4ZhangYang','#1Gunyun','xXiangPeng',["alex","jack"],'ChenRonghua']
17 name2 = copy.deepcopy(names)
18 
19 在深copy中修改,就屬於完全獨立出來的copy,會在內存中再次開辟空間
20 
21 
22 淺copy的作用,可以用來創建聯合帳號
23 import copy
24 person = ["name",['saving',100]]
25 p1 = person[:]
26 #p2 = person.copy()  #淺copy的三種方法
27 p2 = list(person)
28 print(p1)
29 print(p2)
30 
31 p1[1][1]=50
32 print(p1)
33 print(p2)
View Code

pop()    #默認移除最后一個,會有返回值

1 li=['alex','seven']
2 lis=li.pop()
3 print(li,lis)
4 ['alex'] seven    #結果

clear()    #清空列表,只剩None空值

1 li=['alex','seven']
2 print(li.clear())
3 None

extend()    #擴展列表,更改原列表

1 li=['alex','seven']
2 li.extend([11,22,33])
3 print(li)
4 ['alex', 'seven', 11, 22, 33]

remove()    #移除指定元素

1 li=['alex','seven']
2 li.remove('alex')
3 print(li)
4 ['seven']

reverse()    #反轉

1 li=['alex','seven']
2 li.reverse()
3 print(li)
4 ['seven', 'alex']

sort()    #排序

1 li = [2,6,8,4,9,1]
2 li.sort()
3 print(li)
4 [1, 2, 4, 6, 8, 9]

count()    #統計元素出現的次數

1 li = [2,6,8,4,9,1]
2 print(li.count(2))
3 1

append()    #追加元素進列表

1 li = [2,6,8,4,9,1]
2 li.append(2)
3 print(li)
4 [2, 6, 8, 4, 9, 1, 2]

 

元祖的方法和列表方法大抵相同,除了少了修改的操作,和index()、count()等方法。但元組可以在映射(和集合的成員)中當鍵使用——而列表不行。元組作為很多內建函數和方法的返回值,所以你必須對元組進行處理,只要不嘗試修改,你都能當做列表來修改。

 

字典

字典的常用操作

len(dic)  #返回dic項中(鍵值對)的數量

dic[k]    #返回關聯到鍵K上的值:

dic[k]=v    #將值v關聯到鍵為k的項

del d[k]    #刪除鍵為k的項:

k in d    #檢查d中是否有含有鍵為k的項

 

clear()    #清除字典在內存中的引用

1 x={}
2 y=x
3 x['key']='value'
4 x.clear()
5 print(y)
6 {}

fromakeys()    #用來將同一個value賦值給不同的key,這是一個淺copy

1 dic=dict(k1='v1',k2='v2')
2 new_dict=dic.fromkeys(['k1','k2'],'v1')
3 print(new_dict)
4 {'k1': 'v1', 'k2': 'v2'}

用來查找字典元素的最合適的方法

get()    #打開字典查找元素,如果沒有會返回一個None的空值,也能指定返回的值

1 dic=dict(k1='v1',k2='v2')
2 {'k1': 'v1', 'k2': 'v2'}
3 dic={'k1':'v1','k2':'v2'}
4 print(dic.get('k1'))
5 print(dic.get('k3','alex'))
6 v1
7 alex

keys()    #返回所有的key

1 dic=dict(k1='v1',k2='v2')
2 print(dic.keys())
3 dict_keys(['k1', 'k2'])

values()    #返回所有的value

1 dic=dict(k1='v1',k2='v2')
2 print(dic.values())
3 dict_values(['v1', 'v2'])

items()    #返回所有的key和value

1 dic=dict(k1='v1',k2='v2')
2 print(dic.items())
3 dict_items([('k1', 'v1'), ('k2', 'v2')])

pop()    #移除一個元素,有返回值,在這里必須指定元素移除

1 dic=dict(k1='v1',k2='v2')
2 print(dic.pop('k1'))
3 v1

popoitem()    #無須的移除元素

#交互模式下的測試
1
dic=dict(k1='v1',k2='v2',k3='v3',k4='v4',k5=5) 2 dic.popitem() 3 ('k3', 'v3') 4 dic.popitem() 5 ('k2', 'v2') 6 dic.popitem() 7 ('k1', 'v1') 8 dic.popitem() 9 ('k5', 5)

update()    #用來合並字典,如果key相同,當值有更新的時候,會去更新字典

1 dic=dict(k1='v1',k2='v2')
2 dicb = dict(v1='k1',v2='k2',k1='v3')
3 dic.update(dicb)
4 print(dic)
5 {'k1': 'v3', 'k2': 'v2', 'v1': 'k1', 'v2': 'k2'}

setdefault()    #增加元素,如果元素以存在取消操作,再返回字典。如果不存在則更新字典,可更新鍵和value

 1 dic=dict(k1='v1',k2='v2')
 2 print(dic.setdefault('k1',{'k1':'v2'}))
 3 print(dic.setdefault('k3',{'k3','v3'}))
 4 print(dic)
 5 print(dic.setdefault('k4','alex'))
 6 print(dic)
 7 v1
 8 {'v3', 'k3'}
 9 {'k1': 'v1', 'k2': 'v2', 'k3': {'v3', 'k3'}}
10 alex
11 {'k1': 'v1', 'k2': 'v2', 'k3': {'v3', 'k3'}, 'k4': 'alex'}

 

set集合  set是一個無須且不重復的元素集合,還可以做關系測試

1 s1 = set()
2 s1.add('alex')
3 s2=set(['alex','eric','tony','alex'])   #創建集合,自動轉換列表成set類型
4 print(s2)
5 s3 = s2.difference(['alex','eric'])     #找到兩個集合不同的,然后將不同的元素集合起來創建的集合
6 print(s3)
7 {'tony', 'alex', 'eric'}
8 {'tony'}

discard()  #和remove道理差不多區別是需要他指定一個元素移除,更新集合

1 s2=set(['alex','eric','tony'])   #創建集合,自動轉換列表成set類型
2 print(s2)
3 s2.discard('alex')
4 print(s2)
5 {'eric', 'tony', 'alex'}
6 {'eric', 'tony'}
difference()  #取差集,列表1里有的,列表2里沒有的給取出來
1 s1=set(['alex','eric','tony'])  
2 s2=set([1,2,3,4,5])
3 print(s1.difference(s2))
4 {'tony', 'eric', 'alex'}
intersection()    #取交集 ,新創建一個set
1 list_1 = [1,4,5,6,3,6,7,9]
2 list_1 = set(list_1)
3 list_2 = set([2,6,0,66,22,8,4])
4 print(list_1.intersection(list_2))  #取交集
5 {4, 6}
intersection_update()    #取交集,修改原來的set
1 s4=s2.difference_update(['alex','eric'])    #傳入什么元素就刪除什么元素,更新本身的元素
2 print(s2)
3 print(s4)
4 set(['tony', 'alex', 'eric'])
5 set(['tony'])
6 None
7 例二:
8 print(list_1 & list_2)
union()    #取並集
1 print(list_1.union(list_2))         #取並集 
2 {0, 1, 2, 3, 4, 5, 6, 7, 66, 9, 8, 22}
3 print(list_2 | list_1)
update() #添加多個元素
1 list_1.update([888,777,555])
2 print(list_1)
3 {1, 3, 4, 5, 6, 7, 9, 777, 555, 888}
isdisjoint() #如果沒有交集,返回true
1 list_1  = [1,4,5,6,3,7,9]
2 list_1=set(list_1)
3 list_2 = set([2,6,0,66,22,8,4])
4 print(list_1.isdisjoint(list_2))
5 False
issubset() #是否是子集
1 list_1 = [1,4,5,6,3,7,9]
2
list_1=set(list_1) 3 list_3 = set([1,4,7]) 4 print(list_3.issubset(list_1)) 5 True
issuperset() #是否是父集
1 print(list_1.issuperset(list_3))
2 True
.symmetric_difference() #對稱差集
1 print(list_1.symmetric_difference(list_2))
2 {0, 1, 2, 66, 3, 5, 8, 7, 9, 22}
3 例二:
4 print(list_1 ^ list_2)
isdisjoint() #判斷是否是相交集,返回bool值
pop() #取出一個元素,並返回
remove() #需要給一個參數,沒有返回值
 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM