Day2-Night
- Python中沒有字符這種類型,(而C中用單引號表示字符,雙引號表示字符串),python中所謂的字符,就是長度為1的字符串。
- 字符串的內置方法(太多,不一 一敲了,列舉幾個)
- rstrip()(末尾)/lstrip()(開頭)/strip()(兩端)【剔除字符串空白】
- 因含有空格的字符串與為含有空格的是兩個不同的字符串,且最好再存儲用戶輸入前對它進行清理
- 【轉】:https://blog.csdn.net/csdn15698845876/article/details/73469234
- title()/lower()/upper()【調整英文字母大小寫】
1 # coding=gbk 2 str="MaGgie" 3 print(str.title())#首字母大寫 4 print(str.lower())#全小寫 5 print(str.upper())#全大寫
- count(sub[,start[,end]]):查找sub子字符串出現的次數(Python中,用方括號[]括起來表示為可選),start和end表示查找范圍
1 str1="AbcABCabCabcABCabc" 2 print(str1.count('ab',0,15))#2
- find(sub[,start[,end]])或index(sub[,start[,end]]):查找某個子字符串在該字符串中的位置,若找到,則返回值是第一個字符的索引值;若找不到,則find()方法返回-1,而index()方法拋出異常(注:異常是可以被捕獲並處理的錯誤)
1 str1="I love Ian Somerhalder" 2 print(str1.find("Ian"))#7 3 print(str1.find("good"))#-1 4 print(str1.index("Ian"))#7 5 print(str1.index("good"))#ValueError: substring not found
- join(sub):連接字符串,但其是以字符串作為分隔符,插入到sub字符串中所有的字符之間
1 # coding=gbk 2 print(' '.join("text"))#t e x t 3 print('_'.join("Maggie"))#M_a_g_g_i_e 注意,最后一個沒有_ 4 5 print('I'+' '+'love'+' '+'Ian')#I love Ian 6 print(' '.join(['I','love','Ian']))#同上
對於大量的字符串拼接來說,使用join()方法的效率比連接符號(+)要高,因為加號連接會引起內存復制以及垃圾回收操作
- replace(old,new,[,count]):替換指定的字符串
1 str1="I love you" 2 print(str1.replace("you","Maggie"))#I love Maggie
- split(sep=None,maxsplit=-1):用於拆分字符串,與join()相反
- 不帶參數時,默認以空格為分隔符
1 str1="I love Maggie" 2 print(str1.split())#['I','love','Maggie']
- 帶參數時,第一個參數為分隔符分割,后一個參數表示分割次數
1 # coding=gbk 2 str1='_'.join("Maggie") 3 print(str1.split('_'))#['M','a','g','g','i','e'] 4 str2= "www.abcd.com.cn" 5 print(str2.split('.'))#以'.'為分隔符 ['www','abcd','com','cn'] 6 print(str2.split('.',2))#分割兩次 第三次不再分割 ['www','abcd','com.cn']
- 不帶參數時,默認以空格為分隔符
- 字符串的格式化(規范化):按統一的規格去輸出一個字符串(類比進制間的轉換)
- format()方法接受位置參數和關鍵字參數,二者均傳遞到replacement字段(在字符串內由大括號{}表示)【注:不要漏掉print("".format("",""))中的各類符號】
- 不帶參數/帶位置參數/帶關鍵字參數/位置參數和關鍵字參數綜合使用
1 # coding=gbk 2 print("{0} love {1}".format("I","Maggie"))#I love Maggie 其中format的兩個參數({0}、{1})就叫做位置參數 3 print("{0} love {a},{b}".format("I",a="you",b="Maggie"))#I love you,Maggie 其中,{a}、{b}就叫做關鍵字參數 4 print('a1 = {} a2= {} a3= {}'.format('first','second','third')) #{}不帶參數 'a1 = first a2= second a3= third' 5 print('a1 = {1} a2= {0} a3= {2}'.format('first','second','third')) #{}帶位置參數的 'a1 = second a2= first a3= third' 6 print('your name is {name} , age is {age}'.format(name='maggie',age=19)) #'your name is maggie , age is 19' 帶關鍵字參數的 7 print('your name is {name} , age is {age}'.format(age=19,name='maggie')) #'your name is maggie , age is 19' 同樣和位置無關
- 打印大括號
1 # coding=gbk 2 print("{{0}}".format("不打印"))#{0} 打印大括號,再在外層加一層大括號即可(類似打印轉義字符\用\\)
- 替換域的使用
1 # coding=gbk 2 print("{0}:{1:.2f}".format("圓周率",3.14159))#圓周率:3.14
位置參數{1}后面的冒號表示格式化符號的開始,".2"的意思是四舍五入到保留兩位小數點,f是定點數
- 格式化操作符:%(Python格式化符號及含義/格式化操作符的輔助指令)略...
- Python的轉義字符及含義 略...
- 序列:列表、元組、字符串的統稱。下面介紹一個序列常用的BIF(內置方法)
- list([iterable]):將一個可迭代對象轉換為列表。
- 迭代:重復反饋過程的活動,其目的通常是為了接近並達到所需的目標或結果。每一次對過程的重復稱為一次“迭代”,而每一次迭代所得到的結果即作為下一次迭代的初始值(for循環)
-
1 # coding=gbk 2 a=list() #創建一個空列表 3 print(a) #[] 4 5 b=list("Maggie")#將字符串中的每個字符迭代放到列表中 6 print(b) #['M','a','g','g','i','e'] 7 8 c=list((1,2,3))#將元組中的每個元素迭代存放到列表中 9 print(c) #[1,2,3]
10 d=list(("maggie",))#將元組中的每個元素迭代存放到列表中
11 print(c) #['maggie'] - tuple([iterable]):將一個可迭代對象轉換為元組
- str(obj):把obj對象轉換為字符串
- len(sub):返回sub參數的長度(可用str/list/tuple...)
- max():返回序列或參數集合中的最大值
- min():返回序列或參數集合中的最小值 【注:max()和min()方法都要保證序列或參數的數據類型統一,否則出錯】
- sum(iterable[,start]):返回序列iterable的總和,參數start默認為0,若設置參數,則表示從該值開始加起
- sorted(iderable,key=None,reverse=False):用於返回一個排序的列表
- 列表的內建方法 sort()和sorted()雖然效果一致,但區別:sort()是按列表原地排序,而sorted()是返回一個排序后的新列表
1 # coding=gbk 2 list1=[1,18,13,0,-98,34,54,76,32] 3 list2=list1[:] #拷貝list1 4 list1.sort() #從小到大排序 5 print(list1) #[-98, 0, 1, 13, 18, 32, 34, 54, 76] list1發生改變 6 print(sorted(list2))#[-98, 0, 1, 13, 18, 32, 34, 54, 76] 返回一個新列表 7 print(list2) #[1, 18, 13, 0, -98, 34, 54, 76, 32] list2不變
- 列表的內建方法 sort()和sorted()雖然效果一致,但區別:sort()是按列表原地排序,而sorted()是返回一個排序后的新列表
- reversed(sequence):返回逆向迭代序列的值
- 列表的內建方法 reverse()和reversed效果雖然一致,但區別:reverse()是原地翻轉,而reversed()是返回一個翻轉后的迭代器對象
1 # coding=gbk 2 list1=[1,18,13,0,-98,34,54,76,32] 3 print(reversed(list1))#<list_reverseiterator object at 0x033B0810> 返回一個迭代器對象 4 for each in reversed(list1): 5 print(each,end=',')#32,76,54,34,-98,0,13,18,1,
- enumerate(iterable):生成由二元組(就是元素數量為2的元組)構成的一個迭代對象,每個二元組是由可迭代參數的索引號及其對應的元素組成的
1 # coding=gbk 2 str1="Maggie" 3 for each in enumerate(str1): 4 print(each) 5 #(0, 'M') 6 #(1, 'a') 7 #(2, 'g') 8 #(3, 'g') 9 #(4, 'i') 10 #(5, 'e')
- zip(iter1[,iter2[...]]):返回由各個可迭代參數共同組成的元組
1 # coding=gbk 2 str1="Maggie" 3 list1=[1,2,3,4,5,6] 4 for each in zip(list1,str1): 5 print(each) 6 #(1, 'M') 7 #(2, 'a') 8 #(3, 'g') 9 #(4, 'g') 10 #(5, 'i') 11 #(6, 'e') 12 13 tuple1=(4,5,6,7,8,9) 14 for each in zip(list1,str1,tuple1): 15 print(each) 16 #(1, 'M', 4) 17 #(2, 'a', 5) 18 #(3, 'g', 6) 19 #(4, 'g', 7) 20 #(5, 'i', 8) 21 #(6, 'e', 9)
- list([iterable]):將一個可迭代對象轉換為列表。
- End...