亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

PHP工程師學(xué)Python數(shù)據(jù)類型

系統(tǒng) 1656 0

一、背景

繼上篇文章比較了PHP與Python語(yǔ)法之后,這周又學(xué)習(xí)了Python數(shù)據(jù)類型,準(zhǔn)備從通過(guò)這篇文章給自己進(jìn)行一些總結(jié),也給其他讀者一些參考。

二、內(nèi)容概要

  1. 字符串(str)
  2. 列表(list)
  3. 元組(tup)
  4. 字典(dict)
  5. 數(shù)據(jù)操作

三、字符串(str)

Python中字符串操作基本和PHP類似,下面介紹一下Python中字符串的常規(guī)操作方法

3.1 索引下標(biāo)取值

在PHP中可以通過(guò)索引下標(biāo)的方式獲取到字符串中的某一個(gè)字符,在Python中也同樣可以獲取到,如下代碼所示

          
            #定義字符串
testStr = 'tangqingsong'
#通過(guò)索引下標(biāo)獲取字符
print(testStr[1])

#打印結(jié)果  a
          
        

3.2 切片

在Python中有一個(gè)非常好用的功能叫做切片,比如當(dāng)你想獲取字符串中第n個(gè)字符到第m個(gè)字符中的區(qū)間字符,使用Python的切片實(shí)現(xiàn)非常簡(jiǎn)單,如下代碼所示

          
            #定義字符串
testStr = 'tangqingsong'
#通過(guò)索引下標(biāo)獲取字符
print(testStr[0:4])

#打印結(jié)果  tang
          
        

3.3 循環(huán)

在Python中for不僅僅可以循環(huán)類似于PHP中的數(shù)組,還可以循環(huán)字符串,如下代碼所示

          
            testStr = 'tangqingsong'

for value in testStr[0:4]:
    print(value)

#打印結(jié)果  tang
          
        

3.4 字母大小寫轉(zhuǎn)換

在Python中實(shí)現(xiàn)字母大小寫轉(zhuǎn)換和PHP的寫法稍有不同,Python中操作有點(diǎn)類似于PHP操作對(duì)象的感覺(jué),如下代碼所示

          
            #定義字符串
testStr = 'tQs'
#大寫轉(zhuǎn)換
aStr = testStr.upper()
#小寫轉(zhuǎn)換
bStr = testStr.lower()

print(aStr,bStr)

#打印結(jié)果   TQS tqs
          
        

3.4 分割和合并

接著我們?cè)賮?lái)看一下怎么把字符串切割與合并,如下代碼所示

          
            s = 'tang|qing|song'
l = s.split('|')

print(l)
#打印結(jié)果 ['tang', 'qing', 'song']

s2 = '|'.join(['tang', 'qing', 'song'])
print(s2)
#打印結(jié)果 tang|qing|song
          
        

3.5 字符串首尾過(guò)濾

在PHP中字符串首尾過(guò)濾通常使用 trim() 函數(shù)過(guò)濾,而Python中字符串首尾過(guò)濾的語(yǔ)法有點(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ù)非常簡(jiǎn)便的方法,叫做切片,比如你想獲取lst中的李四到馬六區(qū)間的數(shù)據(jù),在PHP中你得用 array_slice 函數(shù)去截取,但在Python則非常方便,如下代碼所示

          
            print(lst[1:4])

# 打印結(jié)果 ['李四','王五','馬六']
          
        

如果你想隔一個(gè)數(shù)據(jù)取一個(gè)數(shù)據(jù),切片還支持設(shè)置步長(zhǎng),步長(zhǎng)默認(rèn)為1,也就是說(shuō)連續(xù)取數(shù)據(jù),當(dāng)你設(shè)置步長(zhǎng)后,會(huì)按照指定的步長(zhǎng),如下代碼所示

          
            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è)空l(shuí)ist,如下代碼所示

          
            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ī)理解來(lái)說(shuō),他們是相互獨(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))方式來(lái)取值,唯一的區(qū)別就是不能再更改里面的值,比如說(shuō)追加數(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來(lái)說(shuō)比較嚴(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ī),這里不再特別說(shuō)明,示例代碼如下所示

          
            #增加一項(xiàng)數(shù)據(jù)
data['不存在的key'] = '值'
          
        

刪除數(shù)據(jù)的方式有兩種形式,第一種是彈出指定數(shù)據(jù),第二種是通過(guò)方法刪除,和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中可能需要通過(guò)for循環(huán)來(lái)實(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 開(kāi)始,stop是代表計(jì)數(shù)停止的數(shù)值,step則代表一次遞增幾個(gè)數(shù)值

7.2 布爾型說(shuō)明

在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è)列表的長(zhǎng)度,可以使用len(lstt)方法 查看列表的長(zhǎng)度

          
            lst = ['tang','qing','song']

print(len(lst))

#打印結(jié)果  3
          
        

作者:湯青松

微信:songboy8888

更新日期:2019-07-21


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對(duì)您有幫助就好】

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長(zhǎng)會(huì)非常 感謝您的哦!!!

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論
主站蜘蛛池模板: 第一毛片| 亚洲精品久久久久久下一站 | 亚洲精品久久久久影 | 99热这里只有精品2 99热这里只有精品3 | 久久99精品久久久久久臀蜜桃 | 久久久久综合精品福利啪啪 | 欧美日韩亚洲国产无线码 | jazz欧美人免费xxxxxx | 国产乱人视频在线播放不卡 | 日本在线看片网站 | 日本不卡免费在线 | 思思久久99热这里只有精品66 | 国产免费福利视频 | 免费网站日本永久免费观看 | 国产成人一区二区三区视频免费 | 免费看黄片毛片 | 国产97色在线 | 亚洲 | 毛片机地 | 精品无人区乱码一区二区三区手机 | 成年激情网 | 亚洲欧美日韩中文字幕在线一 | 久草在线观看免费 | 青青青国产在线视频 | 亚洲国产精品欧美综合 | 久久国内精品 | 95视频在线观看在线分类h片 | 91探花在线 | 特级毛片在线 | 国产高清在线a视频大全凹凸 | www.日本色| 久久久久久久综合日本亚洲 | 四虎地址8848在线观看 | 国产精品免费观看网站 | 日本免费一区二区三区a区 日本免费一区二区三区看片 | 裸身裸乳免费视频网站 | 黄色短视频在线播放 | 黄色在线免费看 | 亚洲黄色小视频 | 亚洲国产高清精品线久久 | 青青久久国产成人免费网站 | 精品午夜寂寞影院在线观看 |