我的python之路4
阿新 • • 發佈:2019-01-06
---恢復內容開始---
#字串中是否只包含字母 數字 text='123LLna' v=text.isalnum() print(v)
輸出
True
#判斷text是否是字元 漢字 text="流水zhongshneg" text1="流水" text2="zhongshneg" v=text.isalpha() v1=text.isalpha() v2=text.isalpha() print(v,v1,v2)
輸出
True True True
iddecimal ,isdigit,isnumeric 判斷當前輸入的值,是否是數字
test = "②" #這種特殊的數字 v1 = test.isdecimal() #判斷是否是數字 v2 = test.isdigit() #判斷是否是數字,還可以判斷特殊的數字! 4 print(v1,v2) print(v1,v2)
輸出
False True
isnumeric
test = "二" # 1,② 更厲害!! v3 = test.isnumeric() print(v3)
輸出
True
#大小寫轉換 text="aLex" v=text.swapcase() print(v)
輸出
AlEX
#字母 數字 下劃線 識別符號 def class a="def" v=a.isidentifier() print(v)
輸出
True
#是否存在不可顯示的字元 \t製表符 \n換行符 text="liushui\t" v=text.isprintable() print(v)
輸出
False
#判斷是否全部是空格 text=" as " text1=" " v=text.isspace() v1=text1.isspace() print(v,v1)
輸出
False True
#判斷是否為標題(首字母大寫)text="Return True if all" text1="Reture True" v=text.istitle() v1=text1.istitle() print(v,v1) #轉換為標題 v2=text.title() print(v2)
輸出
False True
Return True If All
#非常重要!!!將字串中的每一個元素按照指定的分隔符進行拼接 text="流水眾生" print(text) t=" " t1="hao" v=t.join(text) v1=t1.join(text) print(v) print(v1)
輸出
流水眾生
流 水 眾 生
流hao水hao眾hao生
#設定寬度,並將內容居中 20代指總長度 # *空白填充,一個字元可有可無 text="流水眾生" v=text.center(20,"好") print(v) #填充右面 v1=text.ljust(20,"*") print(v1) #填充左面 v2=text.rjust(20,"*") print(v2)
輸出
好好好好好好好好流水眾生好好好好好好好好
流水眾生****************
****************流水眾生
#長度為5,不夠5就在前面加0 text="流水眾生" v=text.zfill(5) print(v)
輸出
0流水眾生
#判斷小寫,使小寫 text="ALex" v1=text.islower() v2=text.lower() print(v1,v2)
輸出
False alex
#判斷大寫,使大寫 text="ALex" v1=text.isupper() v2=text.upper() print(v1,v2)
False ALEX
#移除指定字串,原字串與指定字串匹配 text="xa" v1=text.lstrip('xa')#從左開始 v2=text.rstrip('xa')#從右開始 v3=text.strip('91exxeexa')#兩邊 print(v1) print(v2) print(v3)
輸出
(空)
#去空白 text=" 流水眾生 " v1=text.lstrip()#去左邊 v2=text.rstrip()#去右面 v3=text.strip()#去兩邊 print(v1) print(v2) print(v3)
輸出
流水眾生
流水眾生
流水眾生
#去\t去\n text="\t流水眾生\n " v1=text.lstrip()#去左邊 v2=text.rstrip()#去右面 v3=text.strip()#去兩邊 print(v1)
輸出
流水眾生
流水眾生
流水眾生
#替換 v="aeiou" m=str.maketrans("aeiou","12345") new_m=v.translate(m) print(new_m)
輸出
12345
#分隔 test="testasdaddfg" v=test.partition('s') print(v) v1=test.rpartition('s') print(v1) v2=test.split('s') print(v2) v3=test.split('s',1) print(v3)
輸出
('te', 's', 'tasdaddfg') ('testa', 's', 'daddfg') ['te', 'ta', 'daddfg'] ['te', 'tasdaddfg']
正則表示式,是否想要分隔的元素
text="asdfadasdf\nasdfasf\naadf" v=text.splitlines() v1=text.splitlines(True) v2=text.splitlines(False) print(v) print(v1) print(v2)
輸出
['asdfadasdf', 'asdfasf', 'aadf'] ['asdfadasdf\n', 'asdfasf\n', 'aadf'] ['asdfadasdf', 'asdfasf', 'aadf']
#判斷字串是否以指定開頭 結尾 text="backend1.1.1" v=text.startswith('a') v1=text.endswith('a') print(v) print(v1)
輸出
False
False
6個基本的:
jion split find strip upper lower
#索引下標獲取字串中的某個字元 text="alex" v=text[0] print(v) #切片 v1=text[0:2] #0<= <2 print(v1)
輸出
a
al
#有多少個字元組成 text="alex" v=len(text) print(v)
輸出 4
#分隔 s="asklit;alksjdf" v=s.split("k") print(v)
輸出
['as', 'lit;al', 'sjdf']
li=[11,22,33,44,55,"asdf"] v=len("asdf") v1=len(li) print(v) print(v1)
輸出
4 6
text="流水眾生" # index=0 # while index<len(text): # v=text[index] # print(v) # index+=1 # print('end') for wo in text: print(wo)
輸出
流
水
眾
生
#字串一旦建立,不可修改。一旦修改或者拼接,都會造成重新生成字串 name="liushui" age="18" info=name+age print(info)
輸出
liushui18
#替換 text="alexalexalex" v=text.replace("ex",'bbb') print(v) v1=text.replace("ex",'bbb',2) print(v1)
#替換 text="alexalexalex" v=text.replace("ex",'bbb') print(v) v1=text.replace("ex",'bbb',2) #2為從左到右替換的個數 print(v1)
輸出
albbbalbbbalbbb
albbbalbbbalex
#break continue text="流水眾生" for item in text: print(item) break for item1 in text: continue print(item1)
輸出
流
#建立連續的數字,通過設定步長來指定不連續 v=range(10) print(v) for item in v: print(item) v1=range(0,10,2) for item1 in v1: print(item1)
輸出
range(0, 10) 0 1 2 3 4 5 6 7 8 9 0 2 4 6 8
#建立連續的數字,通過設定步長來指定不連續 # v=range(10) # print(v) # for item in v: # print(item) # v1=range(0,10,2) # for item1 in v1: # print(item1) #將文字對應的索引打印出來 #簡寫 text=input(">>>") for item in range(0,len(text)): print(item,text[item])
輸出
>>>qwe 0 q 1 w 2 e
str 類
name="alex" 建立的物件
list 類,列表
li=[1,12,9,"age","alex“]
通過list類建立的物件,li中括號括起來,逗號分隔每個元素列表中的元素。元素可以是數字,字串,列表,布林值。。。所有的都能放
li=[1,12,9,"liu",["流水",["19",10],"終生"],"alex",True] print(li[0]) print(li[2])
輸出
1 9
切片
li=[1,12,9,"liu",["流水",["19",10],"終生"],"alex",True] print(li[3:5]) #3<= <5 print(li[3:-1]) #3<= <-1
輸出
['liu', ['流水', ['19', 10], '終生']] ['liu', ['流水', ['19', 10], '終生'], 'alex']
for迴圈 while迴圈
li=[1,12,9,"liu",["流水",["19",10],"終生"],"alex",True] for item in li: print(item)
輸出
1 12 9 liu ['流水', ['19', 10], '終生'] alex True
#(索引 切片)列表元素可以被修改,刪除 li=[1,12,9,"liu",["流水",["19",10],"終生"],"alex",True] li[1]=120 print(li) del li[1] print(li)
輸出
[1, 120, 9, 'liu', ['流水', ['19', 10], '終生'], 'alex', True] [1, 9, 'liu', ['流水', ['19', 10], '終生'], 'alex', True]
#判斷某一元素是否在列表中 li=[1,12,9,"liu",["流水",["19",10],"終生"],"alex",True] v=12 in li print(v)
輸出
True
#索引 li=[1,12,9,"liu",["流水",["19",10],"終生"],"alex",True] v=li[4][1][0][1] print(v)
輸出
9
#型別轉換 s="poukakd" a="123" int(a) print(a) str(a) print(a) new_li=list(s) print(new_li)
輸出
123 123 ['p', 'o', 'u', 'k', 'a', 'k', 'd']
#數字不可以迴圈,不可以轉換成列表 s=123 for i in s: print(i)
輸出
TypeError: 'int' object is not iterable
s=123 new_li=list(s) print(new_li)
輸出
TypeError: 'int' object is not iterable
#字串交換列表 s="asdfs" new_li=list(s) print(new_li)
輸出
['a', 's', 'd', 'f', 's']
#數字與字串不能相加 s="123asd" for i in s s=s+i print(s)
輸出
SyntaxError: invalid syntax
#列表轉換字串(有數字又有字串),需要自己寫for迴圈 一個一個處理, li=[11,22,33,"123","alex"] s=" " for i in li: s=s+str(i) print(s)
輸出
112233123alex
#只有字串時 li=["123","alex"] v="".join(li) print(v)
輸出
123alex
list 類
list 類的一個物件 li=[11,22,33,44]
#原值後面追加 li=[11,22,33,44] v=li.append(5) print(li) li.append("alex") li.append([1234,12]) print(li)
輸出
[11, 22, 33, 44, 5] [11, 22, 33, 44, 5, 'alex', [1234, 12]]
#清空列表 li=[11,22,33,44] li.clear() print(li)
輸出
[]
#拷貝,淺拷貝 li=[11,22,33,44] v=li.copy() print(v)
輸出
[11, 22, 33, 44]
#計算元素出現的次數 li=[11,22,33,44] v=li.count(22) print(v)
輸出 1
#擴充套件原列表 li=[11,22,33,44] li.extend([9898,"不得了"]) print(li)
輸出
[11, 22, 33, 44, 9898, '不得了']
#擴充套件原列表 li=[11,22,33,44] li.append([9898,"不得了"]) print(li)
輸出
[11, 22, 33, 44, [9898, '不得了']]
#擴充套件原列表 li=[11,22,33,44] li.extend("不得了") print(li)
輸出
[11, 22, 33, 44, '不', '得', '了']
#根據值獲取當前索引位置(左邊優先) li=[11,22,33,22,44] v=li.index(22) print(v)
輸出 1
#在指定位置插入元素 li=[11,22,33,22,44] li.insert(0,99) print(li)
輸出
[99, 11, 22, 33, 22, 44]
#刪除某個值,並獲取刪除的值(無指定索引時,預設最後一個)
li=[11,22,33,22,44]
v=li.pop(1)
print(v)
print(li)
輸出
22
[11, 33, 22, 44]
#刪除某個值,並獲取刪除的值(無指定索引時,預設最後一個) li=[11,22,33,22,44] v=li.pop() print(v) print(li)
輸出
44
[11, 22, 33, 22]
#刪除列表中的指定的值,左面優先 li=[11,22,33,22,44] li.remove(22) print(li)
輸出
[11, 33, 22, 44]
ps:pop remove del.li[0] del.li[1:9] clear
#當前列表進行翻轉 li=[11,22,33,22,44] li.reverse() print(li)
輸出
[44, 22, 33, 22, 11]
#列表的排序 li=[11,22,33,22,44] li.sort() #從小到大排序 print(li) li.sort(reverse= True)#從大到小排序 print(li)
輸出
[11, 22, 22, 33, 44]
[44, 33, 22, 22, 11]
sorted cmd key 後面講
# 列表中元素修改 取值 數字 li=[11,22,33,22,44] v=li[0] print(v) li[0]=999 print(li)
輸出
11
[999, 22, 33, 22, 44]
# 列表中元素修改 取值 字串
li=[11,22,33,44] v=li[3] print(v) li[3]="w" print(li)
輸出
44 [11, 22, 33, 'w']