摘要:六字典在中我們知道數(shù)組有兩種類型,索引數(shù)組和關(guān)聯(lián)數(shù)組,而關(guān)聯(lián)數(shù)組在中稱之為字典,定義方式和區(qū)別不大,如下代碼所示數(shù)據(jù)定義在中定義字典相對(duì)來說比較嚴(yán)格,對(duì)有要求,不像中可以只輸入值而不輸入可以,在中必須同時(shí)輸入和。
一、背景
繼上篇文章比較了PHP與Python語法之后,這周又學(xué)習(xí)了Python數(shù)據(jù)類型,準(zhǔn)備從通過這篇文章給自己進(jìn)行一些總結(jié),也給其他讀者一些參考。
二、內(nèi)容概要字符串(str)
列表(list)
元組(tup)
字典(dict)
數(shù)據(jù)操作
三、字符串(str)Python中字符串操作基本和PHP類似,下面介紹一下Python中字符串的常規(guī)操作方法
3.1 索引下標(biāo)取值在PHP中可以通過索引下標(biāo)的方式獲取到字符串中的某一個(gè)字符,在Python中也同樣可以獲取到,如下代碼所示
#定義字符串 testStr = "tangqingsong" #通過索引下標(biāo)獲取字符 print(testStr[1]) #打印結(jié)果 a3.2 切片
在Python中有一個(gè)非常好用的功能叫做切片,比如當(dāng)你想獲取字符串中第n個(gè)字符到第m個(gè)字符中的區(qū)間字符,使用Python的切片實(shí)現(xiàn)非常簡單,如下代碼所示
#定義字符串 testStr = "tangqingsong" #通過索引下標(biāo)獲取字符 print(testStr[0:4]) #打印結(jié)果 tang3.3 循環(huán)
在Python中for不僅僅可以循環(huán)類似于PHP中的數(shù)組,還可以循環(huán)字符串,如下代碼所示
testStr = "tangqingsong" for value in testStr[0:4]: print(value) #打印結(jié)果 tang3.4 字母大小寫轉(zhuǎn)換
在Python中實(shí)現(xiàn)字母大小寫轉(zhuǎn)換和PHP的寫法稍有不同,Python中操作有點(diǎn)類似于PHP操作對(duì)象的感覺,如下代碼所示
#定義字符串 testStr = "tQs" #大寫轉(zhuǎn)換 aStr = testStr.upper() #小寫轉(zhuǎn)換 bStr = testStr.lower() print(aStr,bStr) #打印結(jié)果 TQS tqs3.4 分割和合并
接著我們?cè)賮砜匆幌略趺窗炎址懈钆c合并,如下代碼所示
s = "tang|qing|song" l = s.split("|") print(l) #打印結(jié)果 ["tang", "qing", "song"] s2 = "|".join(["tang", "qing", "song"]) print(s2) #打印結(jié)果 tang|qing|song3.5 字符串首尾過濾
在PHP中字符串首尾過濾通常使用trim()函數(shù)過濾,而Python中字符串首尾過濾的語法有點(diǎn)類似于PHP操作對(duì)象的方式,代碼如下所示
# 去掉邊界上的內(nèi)容 strip s1 = " tang qing song " print(s1.strip()) #打印結(jié)果 ‘tang qing song’
如果你想指定刪除某一個(gè)字符,代碼如下所示
s2 = "<湯青松>" print(s2.strip(">")) #打印結(jié)果 "<湯青松"四、列表(list)
在Python中有一種叫做list的數(shù)據(jù)類型,在PHP中我們通常稱之為索引數(shù)組
4.1 數(shù)據(jù)定義定義list數(shù)據(jù)方式如下代碼所示
#定義一個(gè)list數(shù)據(jù) lst = ["張三","李四","王五","馬六","田七"]
取數(shù)據(jù)方式和PHP基本一致,比如想獲取lst里面的李四,可以這樣獲取
$name = lst[1]4.2 切片
除了正向取數(shù)據(jù)還可以反著順序取數(shù)據(jù),比如你要獲取馬六,你可以這樣寫
$name = lst[-2]
在Python中有一種獲取數(shù)據(jù)非常簡便的方法,叫做切片,比如你想獲取lst中的李四到馬六區(qū)間的數(shù)據(jù),在PHP中你得用array_slice函數(shù)去截取,但在Python則非常方便,如下代碼所示
print(lst[1:4]) # 打印結(jié)果 ["李四","王五","馬六"]
如果你想隔一個(gè)數(shù)據(jù)取一個(gè)數(shù)據(jù),切片還支持設(shè)置步長,步長默認(rèn)為1,也就是說連續(xù)取數(shù)據(jù),當(dāng)你設(shè)置步長后,會(huì)按照指定的步長,如下代碼所示
print(lst[1:4:2]) # 打印結(jié)果 ["李四","馬六"]
同樣切片也支持反著取數(shù)據(jù),比如你想獲取田七到王五區(qū)間的數(shù)據(jù),參考代碼如下
print(lst[-1:-3:-1]) # 打印結(jié)果 ["田七","馬六","王五"]4.3 修改數(shù)據(jù)
在Python中如果你想向一個(gè)list數(shù)據(jù)中追加一個(gè)數(shù)據(jù)可以使用append方法向末尾增加,如下代碼所示
lst = lst.append("王八")
也可以使用pop方法彈出最末尾一個(gè)數(shù)據(jù),如下代碼所示
value = lst.pop()
如果你想吧數(shù)據(jù)清空,也可以使用clear方法,當(dāng)然你也可以直接將值重新賦值一個(gè)空list,如下代碼所示
lst.clear() #或者 lst = []4.4 值的引用
在Python中需要注意一種引用內(nèi)存地址的特殊情況,如下代碼所示
# 定義兩個(gè)變量 aList = ["張三", "李四", "王五"] bList = [] # 在bList中追加aList,此時(shí)bList為二維list bList.append(aList) #修改aList變量里面的值 aList[0] = "張三豐" #打印bList print(bList) # 打印結(jié)果 [["張三豐", "李四", "王五"]]
在上面代碼中可以看到,已經(jīng)將一個(gè)變量賦給另外一個(gè)變量,按照常規(guī)理解來說,他們是相互獨(dú)立的,但實(shí)際上并不是;在Python中如果存在二維的list,一維里面往往是記錄一個(gè)內(nèi)存地址,并不是把值完整的復(fù)制一份,這種引用操作Python中也稱之為淺拷貝;
五、元組(tup)在Python中有一種數(shù)據(jù)類型和list非常相似,稱之為元組(tuple);它們最明顯區(qū)別就是list定義之后可以修改結(jié)構(gòu),而元組定義之后不能再次修改,其次是在定義的時(shí)候有一點(diǎn)點(diǎn)不同,如下代碼所示
#定義list數(shù)據(jù) lst = ["張三", "李四", "王五"] #定義元組數(shù)據(jù) tple ("張三", "李四", "王五")
在取數(shù)據(jù)的時(shí)候同樣支持切片,也同樣支持用索引(下標(biāo))方式來取值,唯一的區(qū)別就是不能再更改里面的值,比如說追加數(shù)據(jù)或者里面的某一個(gè)數(shù)據(jù)重新賦值。
六、字典 (dict )在PHP中我們知道數(shù)組有兩種類型,索引數(shù)組和關(guān)聯(lián)數(shù)組,而關(guān)聯(lián)數(shù)組在Python中稱之為字典,定義方式和lst區(qū)別不大,如下代碼所示
6.1 數(shù)據(jù)定義demo = { "k1":"v1", "k2":"v2", "k3":"v3", }
在Python中定義字典相對(duì)PHP來說比較嚴(yán)格,對(duì)key有要求,不像PHP中可以只輸入值而不輸入可以,在Python中必須同時(shí)輸入key和value。
6.2 增刪改查Python中的字典增刪改查和PHP基本類似,獲取字典數(shù)據(jù)參考代碼如下所示
#明確存在某一個(gè)key可以這樣取值,如果值不存在會(huì)報(bào)錯(cuò) d["存在的key"] #不知道是否存在的情況 d.get("不知道存不存在的key")
增加數(shù)據(jù)的方式比較常規(guī),這里不再特別說明,示例代碼如下所示
#增加一項(xiàng)數(shù)據(jù) data["不存在的key"] = "值"
刪除數(shù)據(jù)的方式有兩種形式,第一種是彈出指定數(shù)據(jù),第二種是通過方法刪除,和PHP基本類似,如下代碼所示
#彈出數(shù)據(jù) data.pop("key") #刪除數(shù)據(jù) del data["key"]
修改數(shù)據(jù)直接賦值即可,如下代碼所示
# 修改數(shù)據(jù) data["存在的key"] = 新的值七、雜項(xiàng)
在Python中對(duì)數(shù)據(jù)會(huì)經(jīng)常處理,這里記錄三個(gè)常用的操作方法;
7,1 range 函數(shù)有時(shí)需要定義一個(gè)列表,里面包含1~100的所有數(shù)值,在PHP中可能需要通過for循環(huán)來實(shí)現(xiàn),但在Python中有一個(gè)函數(shù)range()可以創(chuàng)建一個(gè)整數(shù)列表,一般用在 for 循環(huán)中,如下代碼所示
#range(start, stop[, step]) for i in range(0,5,1): print(i) # 打印結(jié)果 0 1 2 3 4 5
start參數(shù)代表計(jì)數(shù)從 start 開始,stop是代表計(jì)數(shù)停止的數(shù)值,step則代表一次遞增幾個(gè)數(shù)值
7.2 布爾型說明在Python中的布爾值中,數(shù)字 0為 False,其他數(shù)字都為true,字符串除了""是false以外,其他非空的字符串都是true,tuple類型中除()和{}是false,其他都是true,還有Python中表示空的none也是false
7.3 數(shù)據(jù)操作在Python中如果你想判斷一個(gè)列表是否包含某一個(gè)值可以使用in方式,如下代碼所示
#定義一個(gè)列表 lst = ["tang","qing","song"] #判斷l(xiāng)st是否包含某一個(gè)值 result = "tang" in lst print(result) #打印結(jié)果 True
如果你想知道一個(gè)list中是否不包含可以使用not in方式,如下代碼所示
#定義一個(gè)列表 lst = ["tang","qing","song"] #判斷l(xiāng)st是否不包含某一個(gè)值 result2 = "tang" not in lst print(result2) #打印結(jié)果 False
在Python中如果你想查看一個(gè)列表的長度,可以使用len(lstt)方法 查看列表的長度
lst = ["tang","qing","song"] print(len(lst)) #打印結(jié)果 3
作者:湯青松
微信:songboy8888
更新日期:2019-07-21
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.hztianpu.com/yun/45215.html
摘要:軟件開發(fā)者通常依據(jù)特定的框架實(shí)現(xiàn)更為復(fù)雜的商業(yè)運(yùn)用和業(yè)務(wù)邏輯。所有,做開發(fā),要用一個(gè)框架。的性能是相當(dāng)優(yōu)異的,因?yàn)樗鼛熗浇鉀Q一個(gè)被稱之為問題,就是處理大于或等于一萬的并發(fā)。 One does not live by bread alone,but by every word that comes from the mouth of God --(MATTHEW4:4) 不...
摘要:那么的學(xué)習(xí)就相對(duì)來說很自由了,可以跟著網(wǎng)址過一遍標(biāo)簽,網(wǎng)上也有很多其它網(wǎng)站做這個(gè)的,像菜鳥教程慕課網(wǎng)視頻之類的都可以用等熟練了就可以去國外看看一些前端的新技術(shù),像國際,最大的程序員問答網(wǎng)站。 前言 前端之路何其漫漫~ ????說明:本篇文章原是寫給學(xué)弟學(xué)妹的,但想來花的功夫確實(shí)不少,就把此篇文章當(dāng)做自己的一個(gè)階段性總結(jié)文章了,會(huì)保持長期更新。 HTML ????總的來說HTML并不難,...
摘要:那么的學(xué)習(xí)就相對(duì)來說很自由了,可以跟著網(wǎng)址過一遍標(biāo)簽,網(wǎng)上也有很多其它網(wǎng)站做這個(gè)的,像菜鳥教程慕課網(wǎng)視頻之類的都可以用等熟練了就可以去國外看看一些前端的新技術(shù),像國際,最大的程序員問答網(wǎng)站。 前言 前端之路何其漫漫~ ????說明:本篇文章原是寫給學(xué)弟學(xué)妹的,但想來花的功夫確實(shí)不少,就把此篇文章當(dāng)做自己的一個(gè)階段性總結(jié)文章了,會(huì)保持長期更新。 HTML ????總的來說HTML并不難,...
閱讀 668·2023-04-26 00:33
閱讀 3689·2021-11-24 09:39
閱讀 3329·2021-09-22 15:34
閱讀 2517·2019-08-23 18:07
閱讀 3061·2019-08-23 18:04
閱讀 3929·2019-08-23 16:06
閱讀 3044·2019-08-23 15:27
閱讀 1741·2019-08-23 14:32