数字、字符串、列表类型及常用内置方法
生活随笔
收集整理的這篇文章主要介紹了
数字、字符串、列表类型及常用内置方法
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
目錄
- 可變不可變類型
- 基本數(shù)據(jù)類型及內(nèi)置方法
- 數(shù)字類型
- 整型
- 浮點(diǎn)型
- 數(shù)字類型總結(jié)
- 字符串類型
- 字符串類型的常用操作+內(nèi)置方法
- 字符串類型總結(jié)
- 列表類型
- 列表類型的常用操作+內(nèi)置方法
- 列表類型總結(jié)
- 數(shù)字類型
可變不可變類型
1、可變類型:值改變,但是id不變,證明就是在改變?cè)?#xff0c;是可變類型 # 示例: list=['a','b'] print(id(list)) l[0]='A' print(list) print(id(list)) RUN====》 5989000 ['A', 'b'] 59890002、不可變類型:值改變,但是id也跟著變,證明是產(chǎn)生了新的值,不改變?cè)?#xff0c;是不可變類型 # 示例: x=9 print(id(x)) x=10 print(id(x)) RUN====》 8791317537872 8791317537904基本數(shù)據(jù)類型及內(nèi)置方法
數(shù)字類型
整型
# 基本使用: 1、用途:記錄年齡、等級(jí)、數(shù)量2、定義方式:age = 10 # age=int(10)# 數(shù)據(jù)類型的轉(zhuǎn)換:只能將純數(shù)字的字符串轉(zhuǎn)成intx = int('123123')print(x,type(x)) # 123123 <class 'int'>x = int('12.3')print(x,type(x)) # 報(bào)錯(cuò);無法將浮點(diǎn)型內(nèi)容的字符串轉(zhuǎn)成int3、常用操作+內(nèi)置方法即全部的數(shù)學(xué)運(yùn)算和比較運(yùn)算浮點(diǎn)型
# 基本使用: 1、用途:記錄身高、薪資、體重等2、定義方式:salary = 1.5 # salary = float(10.1)數(shù)據(jù)類型的轉(zhuǎn)換:只能將包含小數(shù)的字符串轉(zhuǎn)成float示例:x=float('3.1')print(x,type(x)) # 3.1 <class 'float'>3、常用操作+內(nèi)置方法即全部的數(shù)學(xué)運(yùn)算和比較運(yùn)算數(shù)字類型總結(jié)
1、數(shù)字類型只能存一個(gè)值2、數(shù)字類型中的值不可變x = 1print(id(x)) # 8791357186896x = 2print(id(x)) # 8791357186928x=3.1print(id(x)) # 5222520x=4.3print(id(x)) # 5222784# 可見值變化了,id也隨之變化,證明無法改原值,故數(shù)字類型不可變字符串類型
# 基本使用: 1. 用途:記錄 描述性質(zhì) 的狀態(tài)2. 定義方式:msg = 'hello world' # msg = str('hello world')數(shù)據(jù)類型轉(zhuǎn)換:所有類型都可以被str轉(zhuǎn)成字符串類型示例:res=str([1,2,3])print(res,type(res)) # [1, 2, 3] <class 'str'> # list類型被轉(zhuǎn)成str類型字符串類型的常用操作+內(nèi)置方法
# 優(yōu)先掌握的操作:(*****) 3.1 按索引取值(正向取 + 反向取):只能取值,不能改值# 字符串中的字符其實(shí)也存在索引值msg = 'hello'print(msg[0],type(msg)) # h <class 'str'> # 打印字符串msg中的第一位字符 即為hprint(msg[-1]) # o # 打印字符串msg中的倒數(shù)第1位數(shù) 即為oprint(msg[-2]) # l # 打印字符串msg中的倒數(shù)第2位數(shù) 即為lmsg[0]='H' # 欲把'H'賦值給mag[0](即msg中的第一位數(shù))報(bào)錯(cuò); # 證明字符串中的值無法被更改3.2 切片(顧頭不顧尾,步長)# 將字符串按照規(guī)定步長進(jìn)行分割,分割出來的部分為一個(gè)單獨(dú)的值msg='hello world'res=msg[0:3:1]'''[]中的0為分割起始索引值,即msg中的第一個(gè)值 h,如不填,則默認(rèn)為第一個(gè)字符的索引3為分割終點(diǎn)索引值,即msg中的第4個(gè)值 l,如不填,則默認(rèn)為最后一個(gè)字符的索引1為分割取值的步長,即不跨越字符,挨個(gè)取值 如不填,則默認(rèn)為步長為1'''print(res) # helprint(msg) # hello worldmsg='hello world'res=msg[:]print(res) # hello worldres=msg[::2]# 意思就是 步長為2,取字符串中第一個(gè)索引到最后一個(gè)索引對(duì)應(yīng)的字符print(res) # hlowrd# 反向切片取值:步長必須是負(fù)數(shù)msg='hello world'res=msg[-1:-12:-1]'''步長為負(fù)數(shù),索引值也要配合步長進(jìn)行反向圈定切片取值范圍此行則代表切片范圍為 倒數(shù)第1位索引值到第1位索引值(反方向時(shí)的索引不是以0開始計(jì)數(shù)的因?yàn)榍衅铑欘^不顧尾所以此時(shí)反向的第一位索引值需要擴(kuò)大一位索引值以可以取到第一位字符)'''print(res) # dlrow ollehres=msg[-1::-1] # dlrow olleh # 此為反向切片,最終切片位置不填則默認(rèn)為可以取到第1位字符print(res)res=msg[::-1] # dlrow olleh # 此為反向切片,起點(diǎn)切片位置不填則默認(rèn)為可以從倒數(shù)第1位開始切片print(res)3.3 長度 len示例:msg = 'hello world'print(len(msg)) # 11 # 代表字符串中有11位字符 3.4 成員運(yùn)算 in 和 not in :判斷一個(gè)子字符串是否存在于大字符串中示例:msg = 'wjw is beautiful'print('wjw' in msg) # Trueprint('w' in msg) # Trueprint('wjw' not in msg) # False # wjw 不在 msg 中,結(jié)果為Falseprint(not 'wjw' in msg) # False # wjw 在 msg 中為True,取反后為False3.5 移除空白 strip:用來清除字符串兩邊的字符,不指定取出什么字符則默認(rèn)去除 空格示例:msg=' he llo 'res=msg.strip() # 沒有指定去除什么字符,則默認(rèn)去除空格print(res,id(res)) # he llo 6583272 # 只能去除兩邊的字符,中間的并沒有被去除print(msg,id(msg)) # he llo 40059288 # 原值不變print('******eg**on*****'.strip('*')) # eg**onprint('***+-\/***egon#@$*****'.strip('*+-\/#@$')) # egon應(yīng)用示例:# 去除用戶輸入的內(nèi)容的兩邊的空格name=input('username>>>: ').strip() # name=' egon 'pwd=input('password>>>: ').strip() # pwd = ' 123 'username>>>: egonpassword>>>: 123print(username,password) # egon 123 # 沒有空格3.6 切分 split:針對(duì)有規(guī)律的字符串,按照某種分隔符切成列表info='egon:18:male'res=info.split(':') # 以':'為切刀口,切開str,形成新的str丟到list中print(res,type(res)) # ['egon', '18', 'male'] <class 'list'> # 輸出的值為列表print(res[0],res[1]) # egon 18cmd='get|a.txt|33333'print(cmd.split('|',1)) # ['get', 'a.txt|33333']# 1為切割一次的一次,不指定切割次數(shù)或指定切割次數(shù)為-1,則切割所有指定字符延伸示例:# 用:號(hào)作連接符號(hào)將純字符串的列表拼接成一個(gè)字符串list=['egon', '18', 'male']res=':'.join(list)# 以:為分隔,將list中的字符串 串到一起,然后復(fù)制給resprint(res,type(res)) # egon:18:male <class 'str'>3.7 循環(huán)for item in 'hello':print(item)hello # 需要掌握的操作 (****) 1. strip,lstrip,rstripprint('******egon***********'.strip('*')) # 去除兩邊的指定字符print('******egon***********'.lstrip('*')) # 去除左邊(left)的指定字符print('******egon***********'.rstrip('*')) # 去除右邊(right)的指定字符egonegon*****************egonmsg=' hello 'msg.strip() # 不給參數(shù)時(shí)默認(rèn)去除空格print(msg) # hello # 兩邊沒有空格2. lower,upperprint('Abc123'.lower()) # abc123 # 使字符串中的所有字母變?yōu)樾憄rint('Abc123'.upper()) # ABC123 # 使字符串中的所有字母變?yōu)榇髮?. startswith,endswithmsg='alex is dsb'print(msg.startswith('alex')) # True # 判斷字符串是不是以指定字符開頭來輸出布爾值print(msg.endswith('dsb')) # True # 判斷字符串是不是以指定字符結(jié)尾來輸出布爾值4. format的三種玩法原理:res='my name is %s my age is %s' %('egon',18)print(res) # my name is egon my age is 18res='my name is {name} my age is {age}'.format(age=18,name='egon')print(res) # my name is egon my age is 18# 了解res='my name is {0}{1} my age is {2}{1}{2}'.format('egon',18,' tall ')print(res) # my name is egon18 my age is tall 18 tallres='my name is {} my age is {}'.format('egon',18)# 不指定索引時(shí)則默認(rèn)第一個(gè){}索引值為0,第二個(gè){}索引值為1,一次排列print(res) # my name is egon my age is 185. split,rsplitmsg='a:b:c:d'print(msg.split(':',1)) # ['a', 'b:c:d']'''從前向后以指定字符將字符串分割成列表,不指定字符時(shí)則默認(rèn)指定空格此條代碼為 以:為號(hào),分割從前向后分割一次'''print(msg.rsplit(':',1)) # ['a:b:c', 'd']'''從后向前以指定字符將字符串分割成列表,不指定字符時(shí)則默認(rèn)指定空格此條代碼為 以:為號(hào),分割從后向前分割一次'''6. replacemsg='kevin is kevin is hahahah'res=msg.replace('kevin','sb',1)# 將'kevin'替換為'sb',替換次數(shù)為 1print(res) # sb is kevin is hahahahres=msg.replace('kevin','sb',2)# 將'kevin'替換為'sb',替換次數(shù)為 2print(res) # sb is sb is hahahah7. isdigitprint('123123'.isdigit()) # True # 如果字符串是由純數(shù)字組成的,則返回Trueprint('123123 '.isdigit()) # Falseprint('123123asdf'.isdigit()) # Falseprint('12312.3'.isdigit()) # False應(yīng)用示例:# 查成績程序中,禁止用戶輸入純數(shù)字以外的inputscore=input('請(qǐng)輸入您的成績: ').strip() #score='abc'if score.isdigit():score=int(score)if score >= 90:print('優(yōu)秀')else:print('小垃圾')else:print('必須輸入純數(shù)字')請(qǐng)輸入您的成績: abc # 必須輸入純數(shù)字 # 了解的操作 1. find,rfind,index,rindex,countprint('123 ke123ke'.find('ke')) # 4print('123 ke123ke'.rfind('ke')) # 9print('123 ke123ke'.index('ke')) # 4print('123 ke123ke'.rindex('ke')) # 9print('123 ke123ke'.find('xxxx')) # -1print('123 ke123ke'.index('xxxx')) # 報(bào)錯(cuò);print('123 ke123ke'.count('ke',0,6)) # 12. center,ljust,rjust,zfillprint('egon'.center(50,'*'))print('egon'.ljust(50,'*'))print('egon'.rjust(50,'*'))***********************egon***********************egon********************************************************************************************egonprint('egon'.rjust(50,'0'))print('egon'.zfill(50))0000000000000000000000000000000000000000000000egon0000000000000000000000000000000000000000000000egon3. captalize,swapcase,titleprint('abcdef dddddd'.capitalize()) # 將字符串的首字母變?yōu)榇髮?#xff0c;其余全為小寫print('abcAef dddddd'.swapcase()) # 將字符串中所有字母大小寫反轉(zhuǎn)print('abcAef dddddd'.title()) # 將字符串中每個(gè)單詞的首字母大寫,其余全為小寫Abcdef ddddddABCaEF DDDDDDAbcaef Dddddd4. is數(shù)字系列num1=b'4' #bytesnum2='4' #unicode,python3中無需加u就是unicodenum3='四' #中文數(shù)字num4='Ⅳ' #羅馬數(shù)字# bytes與阿拉伯?dāng)?shù)字組成的字符串# print(num1.isdigit())# print(num2.isdigit())# print(num3.isdigit())# print(num4.isdigit())TrueTrueFalseFalse# 阿拉伯?dāng)?shù)字組成的字符串# print(num2.isdecimal())# print(num3.isdecimal())# print(num4.isdecimal())TrueFalseFalse# 阿拉伯?dāng)?shù)字\中文\羅馬組成的字符串# print(num2.isnumeric())# print(num3.isnumeric())# print(num4.isnumeric())TrueTrueTrue字符串類型總結(jié)
1、字符串類型只能存一個(gè)值 2、字符串類型是有序的 3、字符串類型的值不可變列表類型
# 基本使用: 1、用途:按照位置記錄多個(gè)值,索引對(duì)應(yīng)值2、定義方式:在[]內(nèi)用逗號(hào)分隔開多個(gè)任意類型的值l=['a',11,11.3] # l=list(['a',11,11.3])數(shù)據(jù)類型轉(zhuǎn)換:但凡能夠被for循環(huán)遍歷的數(shù)據(jù)類型都可以傳給list,被其轉(zhuǎn)換成列表res=list('hello')print(res) # ['h', 'e', 'l', 'l', 'o']res=list(123) # for循環(huán)無法循環(huán)int,所以無法定義int or float為listprint(res) # 報(bào)錯(cuò);res=list({'a':1,'b':2,'c':3})# 將字典dict定義為list時(shí),只會(huì)提取其中的keyprint(res) # ['a', 'b', 'c']列表類型的常用操作+內(nèi)置方法
# 優(yōu)先掌握的操作: 1、按索引存取值(正向存取+反向存取):即可存也可以取l=['a','b','c','d','e']print(l[0]) # 取第1個(gè)值print(l[-1]) # 取倒數(shù)第1個(gè)值print(id(l))l[0]='A' # 將A賦值給list l 中的第一個(gè)值print(l)print(id(l))ae36725384['A', 'b', 'c', 'd', 'e']36725384l=['a','b','c','d','e']# 強(qiáng)調(diào)強(qiáng)調(diào)強(qiáng)調(diào)!!!:對(duì)于不存在的索引會(huì)報(bào)錯(cuò)l[5]='AAAA' # 報(bào)錯(cuò);dic={"k1":111}dic['k2']=2222 # 將2222賦值給doc中的key_k2print(dic) # {'k1': 111, 'k2': 2222}# 賦值字典中沒有的key會(huì)新建這個(gè)key2、切片(顧頭不顧尾,步長)l=['a','b','c','d','e']print(l[1:4]) # 切片取第2位到第5位print(l[::-1]) # 反向切片取倒數(shù)第1位 到 第1位['b', 'c', 'd']['e', 'd', 'c', 'b', 'a']3、長度 lenl=['a','b','c','d','e']print(len(l)) # 54、成員運(yùn)算in和not inlist=['a','b','c','d','e']print('a' in list) # True # 判斷'a'在不在list中,返回bool值5、追加.append與insertl=['a','b','c','d','e']l.append('xxx') # 在 l 末尾插入'xxx'l.append('yyy') # 在 l 末尾插入'yyy'print(l) # ['a', 'b', 'c', 'd', 'e', 'xxx', 'yyy']l=['a','b','c','d','e']l.insert(1,'xxxx') # 在指定索引值的位置插入'xxxx'print(l) # ['a', 'xxxx', 'b', 'c', 'd', 'e']6、刪除 del、remove、popl=['a','bbb','c','d','e']# del是一種通用的刪除操作,沒有返回值del l[0] # 刪除 l 中的第1個(gè)值print(l) # ['bbb', 'c', 'd', 'e']dic={'k1':1}del dic['k1'] # 刪除 dic 中的key_k1print(dic) # {}l=['a','bbb','c','d','e']l.remove(xxx) # (指定要?jiǎng)h除的那個(gè)元素),沒有返回值res=l.remove('bbb') # 給被刪除的元素賦值給resprint(l) # ['a', 'c', 'd', 'e']print(res) # None # 查找通過res開看刪除的元素是否有返回值l.pop(xxx) # (指定要?jiǎng)h除的那個(gè)元素的索引),返回剛剛刪掉的那個(gè)元素l=['a','bbb','c','d','e']l.pop(-1) # 刪除 l 中倒數(shù)第 1 個(gè)值res=l.pop(1) # 刪除 l 中第 2 個(gè)值,并將這個(gè)值賦值給resprint(l) # ['a', 'c', 'd']print(res) # bbb # 驗(yàn)證res是否被成功賦值,即刪掉的元素有沒有成功返回7、循環(huán)l=['a','b','c','d','e']for item in l:print(item)abcde應(yīng)用示例:# 練習(xí):# 隊(duì)列:先進(jìn)先出l=[]# 入隊(duì)l.append('first')l.append('second')l.append('third')print(l) # ['first', 'second', 'third']l=[]# 入隊(duì)l.append('first')l.append('second')l.append('third')# 出隊(duì)print(l.pop(0)) # firstprint(l.pop(0)) # secondprint(l.pop(0)) # third#堆棧:后進(jìn)先出 # 需要掌握的操作l=['aaa','bb',345]l.clear() # 刪除列表中所有內(nèi)容# 此時(shí)表l中為空l.append([1,2,3]) # 在列表末尾插入表格 [1,2,3]print(l) # [[1, 2, 3]] # 在此時(shí)的空列表l中插入了一個(gè)列表l=['aaa','bb',345]for i in [1,2,3]:l.append(i)print(l) # ['aaa', 'bb', 345, 1, 2, 3]'''上面代碼中的for循環(huán)追加值的效果可以用下面.extend 來直接插入一個(gè)代碼.extend 的原理就是將列表中的元素拆出列表然后追加到 l 中'''l=['aaa','bb',345]l.extend([1,2,3])print(l) # ['aaa', 'bb', 345, 1, 2, 3]# 排序 .reverse 、 sortl=['aaa','bb',345]l.reverse()# 將列表中的元素重新顛倒排序print(l) # [345, 'bb', 'aaa']只有在列表中所有元素都是同種類型的情況下才能用sort排序l=[1,3,2] # 列表中的元素皆為intl.sort(reverse=True)# 當(dāng)reverse為True時(shí)從大到小排列,當(dāng)reverse為False時(shí)從小到大排列print(l) # [3, 2, 1]l=['z','d','a'] # # 列表中的元素皆為strl.sort()print(l) # ['a', 'd', 'z']列表類型總結(jié)
1、列表類型能存多個(gè)值 2、列表類型是有序的 3、列表類型的值不可變轉(zhuǎn)載于:https://www.cnblogs.com/shuchengyi/articles/10867068.html
《新程序員》:云原生和全面數(shù)字化實(shí)踐50位技術(shù)專家共同創(chuàng)作,文字、視頻、音頻交互閱讀總結(jié)
以上是生活随笔為你收集整理的数字、字符串、列表类型及常用内置方法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 小技巧:远程连接共享文件密码错误
- 下一篇: 『前端规范化』CSS命名规范化