日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

数字、字符串、列表类型及常用内置方法

發布時間:2025/6/17 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 数字、字符串、列表类型及常用内置方法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

目錄

  • 可變不可變類型
  • 基本數據類型及內置方法
    • 數字類型
      • 整型
      • 浮點型
      • 數字類型總結
    • 字符串類型
      • 字符串類型的常用操作+內置方法
      • 字符串類型總結
    • 列表類型
      • 列表類型的常用操作+內置方法
      • 列表類型總結

可變不可變類型

1、可變類型:值改變,但是id不變,證明就是在改變原值,是可變類型 # 示例: list=['a','b'] print(id(list)) l[0]='A' print(list) print(id(list)) RUN====》 5989000 ['A', 'b'] 59890002、不可變類型:值改變,但是id也跟著變,證明是產生了新的值,不改變原值,是不可變類型 # 示例: x=9 print(id(x)) x=10 print(id(x)) RUN====》 8791317537872 8791317537904

基本數據類型及內置方法

數字類型

整型

# 基本使用: 1、用途:記錄年齡、等級、數量2、定義方式:age = 10 # age=int(10)# 數據類型的轉換:只能將純數字的字符串轉成intx = int('123123')print(x,type(x)) # 123123 <class 'int'>x = int('12.3')print(x,type(x)) # 報錯;無法將浮點型內容的字符串轉成int3、常用操作+內置方法即全部的數學運算和比較運算

浮點型

# 基本使用: 1、用途:記錄身高、薪資、體重等2、定義方式:salary = 1.5 # salary = float(10.1)數據類型的轉換:只能將包含小數的字符串轉成float示例:x=float('3.1')print(x,type(x)) # 3.1 <class 'float'>3、常用操作+內置方法即全部的數學運算和比較運算

數字類型總結

1、數字類型只能存一個值2、數字類型中的值不可變x = 1print(id(x)) # 8791357186896x = 2print(id(x)) # 8791357186928x=3.1print(id(x)) # 5222520x=4.3print(id(x)) # 5222784# 可見值變化了,id也隨之變化,證明無法改原值,故數字類型不可變

字符串類型

# 基本使用: 1. 用途:記錄 描述性質 的狀態2. 定義方式:msg = 'hello world' # msg = str('hello world')數據類型轉換:所有類型都可以被str轉成字符串類型示例:res=str([1,2,3])print(res,type(res)) # [1, 2, 3] <class 'str'> # list類型被轉成str類型

字符串類型的常用操作+內置方法

# 優先掌握的操作:(*****) 3.1 按索引取值(正向取 + 反向取):只能取值,不能改值# 字符串中的字符其實也存在索引值msg = 'hello'print(msg[0],type(msg)) # h <class 'str'> # 打印字符串msg中的第一位字符 即為hprint(msg[-1]) # o # 打印字符串msg中的倒數第1位數 即為oprint(msg[-2]) # l # 打印字符串msg中的倒數第2位數 即為lmsg[0]='H' # 欲把'H'賦值給mag[0](即msg中的第一位數)報錯; # 證明字符串中的值無法被更改3.2 切片(顧頭不顧尾,步長)# 將字符串按照規定步長進行分割,分割出來的部分為一個單獨的值msg='hello world'res=msg[0:3:1]'''[]中的0為分割起始索引值,即msg中的第一個值 h,如不填,則默認為第一個字符的索引3為分割終點索引值,即msg中的第4個值 l,如不填,則默認為最后一個字符的索引1為分割取值的步長,即不跨越字符,挨個取值 如不填,則默認為步長為1'''print(res) # helprint(msg) # hello worldmsg='hello world'res=msg[:]print(res) # hello worldres=msg[::2]# 意思就是 步長為2,取字符串中第一個索引到最后一個索引對應的字符print(res) # hlowrd# 反向切片取值:步長必須是負數msg='hello world'res=msg[-1:-12:-1]'''步長為負數,索引值也要配合步長進行反向圈定切片取值范圍此行則代表切片范圍為 倒數第1位索引值到第1位索引值(反方向時的索引不是以0開始計數的因為切片命令顧頭不顧尾所以此時反向的第一位索引值需要擴大一位索引值以可以取到第一位字符)'''print(res) # dlrow ollehres=msg[-1::-1] # dlrow olleh # 此為反向切片,最終切片位置不填則默認為可以取到第1位字符print(res)res=msg[::-1] # dlrow olleh # 此為反向切片,起點切片位置不填則默認為可以從倒數第1位開始切片print(res)3.3 長度 len示例:msg = 'hello world'print(len(msg)) # 11 # 代表字符串中有11位字符 3.4 成員運算 in 和 not in :判斷一個子字符串是否存在于大字符串中示例:msg = 'wjw is beautiful'print('wjw' in msg) # Trueprint('w' in msg) # Trueprint('wjw' not in msg) # False # wjw 不在 msg 中,結果為Falseprint(not 'wjw' in msg) # False # wjw 在 msg 中為True,取反后為False3.5 移除空白 strip:用來清除字符串兩邊的字符,不指定取出什么字符則默認去除 空格示例:msg=' he llo 'res=msg.strip() # 沒有指定去除什么字符,則默認去除空格print(res,id(res)) # he llo 6583272 # 只能去除兩邊的字符,中間的并沒有被去除print(msg,id(msg)) # he llo 40059288 # 原值不變print('******eg**on*****'.strip('*')) # eg**onprint('***+-\/***egon#@$*****'.strip('*+-\/#@$')) # egon應用示例:# 去除用戶輸入的內容的兩邊的空格name=input('username>>>: ').strip() # name=' egon 'pwd=input('password>>>: ').strip() # pwd = ' 123 'username>>>: egonpassword>>>: 123print(username,password) # egon 123 # 沒有空格3.6 切分 split:針對有規律的字符串,按照某種分隔符切成列表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為切割一次的一次,不指定切割次數或指定切割次數為-1,則切割所有指定字符延伸示例:# 用:號作連接符號將純字符串的列表拼接成一個字符串list=['egon', '18', 'male']res=':'.join(list)# 以:為分隔,將list中的字符串 串到一起,然后復制給resprint(res,type(res)) # egon:18:male <class 'str'>3.7 循環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() # 不給參數時默認去除空格print(msg) # hello # 兩邊沒有空格2. lower,upperprint('Abc123'.lower()) # abc123 # 使字符串中的所有字母變為小寫print('Abc123'.upper()) # ABC123 # 使字符串中的所有字母變為大寫3. startswith,endswithmsg='alex is dsb'print(msg.startswith('alex')) # True # 判斷字符串是不是以指定字符開頭來輸出布爾值print(msg.endswith('dsb')) # True # 判斷字符串是不是以指定字符結尾來輸出布爾值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)# 不指定索引時則默認第一個{}索引值為0,第二個{}索引值為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']'''從前向后以指定字符將字符串分割成列表,不指定字符時則默認指定空格此條代碼為 以:為號,分割從前向后分割一次'''print(msg.rsplit(':',1)) # ['a:b:c', 'd']'''從后向前以指定字符將字符串分割成列表,不指定字符時則默認指定空格此條代碼為 以:為號,分割從后向前分割一次'''6. replacemsg='kevin is kevin is hahahah'res=msg.replace('kevin','sb',1)# 將'kevin'替換為'sb',替換次數為 1print(res) # sb is kevin is hahahahres=msg.replace('kevin','sb',2)# 將'kevin'替換為'sb',替換次數為 2print(res) # sb is sb is hahahah7. isdigitprint('123123'.isdigit()) # True # 如果字符串是由純數字組成的,則返回Trueprint('123123 '.isdigit()) # Falseprint('123123asdf'.isdigit()) # Falseprint('12312.3'.isdigit()) # False應用示例:# 查成績程序中,禁止用戶輸入純數字以外的inputscore=input('請輸入您的成績: ').strip() #score='abc'if score.isdigit():score=int(score)if score >= 90:print('優秀')else:print('小垃圾')else:print('必須輸入純數字')請輸入您的成績: abc # 必須輸入純數字 # 了解的操作 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')) # 報錯;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()) # 將字符串的首字母變為大寫,其余全為小寫print('abcAef dddddd'.swapcase()) # 將字符串中所有字母大小寫反轉print('abcAef dddddd'.title()) # 將字符串中每個單詞的首字母大寫,其余全為小寫Abcdef ddddddABCaEF DDDDDDAbcaef Dddddd4. is數字系列num1=b'4' #bytesnum2='4' #unicode,python3中無需加u就是unicodenum3='四' #中文數字num4='Ⅳ' #羅馬數字# bytes與阿拉伯數字組成的字符串# print(num1.isdigit())# print(num2.isdigit())# print(num3.isdigit())# print(num4.isdigit())TrueTrueFalseFalse# 阿拉伯數字組成的字符串# print(num2.isdecimal())# print(num3.isdecimal())# print(num4.isdecimal())TrueFalseFalse# 阿拉伯數字\中文\羅馬組成的字符串# print(num2.isnumeric())# print(num3.isnumeric())# print(num4.isnumeric())TrueTrueTrue

字符串類型總結

1、字符串類型只能存一個值 2、字符串類型是有序的 3、字符串類型的值不可變

列表類型

# 基本使用: 1、用途:按照位置記錄多個值,索引對應值2、定義方式:在[]內用逗號分隔開多個任意類型的值l=['a',11,11.3] # l=list(['a',11,11.3])數據類型轉換:但凡能夠被for循環遍歷的數據類型都可以傳給list,被其轉換成列表res=list('hello')print(res) # ['h', 'e', 'l', 'l', 'o']res=list(123) # for循環無法循環int,所以無法定義int or float為listprint(res) # 報錯;res=list({'a':1,'b':2,'c':3})# 將字典dict定義為list時,只會提取其中的keyprint(res) # ['a', 'b', 'c']

列表類型的常用操作+內置方法

# 優先掌握的操作: 1、按索引存取值(正向存取+反向存取):即可存也可以取l=['a','b','c','d','e']print(l[0]) # 取第1個值print(l[-1]) # 取倒數第1個值print(id(l))l[0]='A' # 將A賦值給list l 中的第一個值print(l)print(id(l))ae36725384['A', 'b', 'c', 'd', 'e']36725384l=['a','b','c','d','e']# 強調強調強調!!!:對于不存在的索引會報錯l[5]='AAAA' # 報錯;dic={"k1":111}dic['k2']=2222 # 將2222賦值給doc中的key_k2print(dic) # {'k1': 111, 'k2': 2222}# 賦值字典中沒有的key會新建這個key2、切片(顧頭不顧尾,步長)l=['a','b','c','d','e']print(l[1:4]) # 切片取第2位到第5位print(l[::-1]) # 反向切片取倒數第1位 到 第1位['b', 'c', 'd']['e', 'd', 'c', 'b', 'a']3、長度 lenl=['a','b','c','d','e']print(len(l)) # 54、成員運算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個值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) # (指定要刪除的那個元素),沒有返回值res=l.remove('bbb') # 給被刪除的元素賦值給resprint(l) # ['a', 'c', 'd', 'e']print(res) # None # 查找通過res開看刪除的元素是否有返回值l.pop(xxx) # (指定要刪除的那個元素的索引),返回剛剛刪掉的那個元素l=['a','bbb','c','d','e']l.pop(-1) # 刪除 l 中倒數第 1 個值res=l.pop(1) # 刪除 l 中第 2 個值,并將這個值賦值給resprint(l) # ['a', 'c', 'd']print(res) # bbb # 驗證res是否被成功賦值,即刪掉的元素有沒有成功返回7、循環l=['a','b','c','d','e']for item in l:print(item)abcde應用示例:# 練習:# 隊列:先進先出l=[]# 入隊l.append('first')l.append('second')l.append('third')print(l) # ['first', 'second', 'third']l=[]# 入隊l.append('first')l.append('second')l.append('third')# 出隊print(l.pop(0)) # firstprint(l.pop(0)) # secondprint(l.pop(0)) # third#堆棧:后進先出 # 需要掌握的操作l=['aaa','bb',345]l.clear() # 刪除列表中所有內容# 此時表l中為空l.append([1,2,3]) # 在列表末尾插入表格 [1,2,3]print(l) # [[1, 2, 3]] # 在此時的空列表l中插入了一個列表l=['aaa','bb',345]for i in [1,2,3]:l.append(i)print(l) # ['aaa', 'bb', 345, 1, 2, 3]'''上面代碼中的for循環追加值的效果可以用下面.extend 來直接插入一個代碼.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)# 當reverse為True時從大到小排列,當reverse為False時從小到大排列print(l) # [3, 2, 1]l=['z','d','a'] # # 列表中的元素皆為strl.sort()print(l) # ['a', 'd', 'z']

列表類型總結

1、列表類型能存多個值 2、列表類型是有序的 3、列表類型的值不可變

轉載于:https://www.cnblogs.com/shuchengyi/articles/10867068.html

《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀

總結

以上是生活随笔為你收集整理的数字、字符串、列表类型及常用内置方法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。