int的轉(zhuǎn)換沒(méi)有PHP那么方便。但這也讓程序穩(wěn)定性有所提升,例如和客戶(hù)端交互的時(shí)候,數(shù)據(jù)庫(kù)取出來(lái)的數(shù)字int和緩存取出來(lái)的數(shù)字(默認(rèn)是string)需要手動(dòng)進(jìn)行轉(zhuǎn)換(否則會(huì)有" />

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

Python基礎(chǔ)學(xué)習(xí)之基本數(shù)據(jù)結(jié)構(gòu)詳解【數(shù)字、字符串、列表、元組、集合、字典】

系統(tǒng) 1809 0

本文實(shí)例講述了Python基礎(chǔ)學(xué)習(xí)之基本數(shù)據(jù)結(jié)構(gòu)。分享給大家供大家參考,具體如下:

前言

相比于PHP,Python同樣也是腳本解析語(yǔ)言,所以在使用Python的時(shí)候,變量和數(shù)據(jù)結(jié)構(gòu)相對(duì)于編譯語(yǔ)言來(lái)說(shuō)都會(huì)簡(jiǎn)單許多,但是 Python相比于PHP來(lái)說(shuō),變量類(lèi)型的定義會(huì)比較嚴(yán)格 :string->int的轉(zhuǎn)換沒(méi)有PHP那么方便。但這也讓程序穩(wěn)定性有所提升,例如和客戶(hù)端交互的時(shí)候,數(shù)據(jù)庫(kù)取出來(lái)的數(shù)字int和緩存取出來(lái)的數(shù)字(默認(rèn)是string)需要手動(dòng)進(jìn)行轉(zhuǎn)換(否則會(huì)有報(bào)錯(cuò)提示),而PHP不需要手動(dòng)轉(zhuǎn)換的,返回值類(lèi)型不對(duì)可能會(huì)使客戶(hù)端崩潰。所以本文也針對(duì)Python的數(shù)據(jù)結(jié)構(gòu)作一個(gè)基礎(chǔ)總結(jié),并在個(gè)別部分與PHP作比較。

一、數(shù)據(jù)結(jié)構(gòu)類(lèi)型

Python包含的常規(guī)數(shù)據(jù)結(jié)構(gòu)類(lèi)型有: 數(shù)字、字符串、List(列表)、Tuple(元組)、Set(集合)、 Dictionary(字典)

二、數(shù)據(jù)結(jié)構(gòu)說(shuō)明及其用法

1、常用數(shù)字類(lèi)型:int(有符號(hào)整型) 、long(長(zhǎng)整型[也可以代表八進(jìn)制和十六進(jìn)制]) 、float(浮點(diǎn)型) 、complex(復(fù)數(shù):a + bj形式)

2、字符串類(lèi)型:與PHP、Java等字符串類(lèi)型一致。

Python字符串常用操作有:

(1)拼接:加號(hào)(+)是字符串連接運(yùn)算符,如 str1 + str2;

(2)重復(fù):星號(hào)(*)是重復(fù)操作,如 str2 = str1 * 2,表示兩個(gè)str1字符串重復(fù)拼接;

(3)剪切:

①str[0,1]――截取從0開(kāi)始的一位;

②str[:10]――截取0開(kāi)始的10位;

③str[:-1]――截取0開(kāi)始到倒數(shù)1位(不包括倒數(shù)1位);

(4)查詢(xún):str.find(‘<待查詢(xún)字符串>')――返回查詢(xún)到的下標(biāo);

(5)替換:str.replace(‘<待替換字符串>',' <替換后的字符串>');

(6)分割:str.split(',')――根據(jù)','分隔成list;

(7)連接: ','.join( )――把list連接成用','分隔的字符串;

(8)翻轉(zhuǎn):strrev( );

(9)復(fù)制:strncpy(str1,str2,n)――n表示復(fù)制指定長(zhǎng)度;

(10)大小寫(xiě)轉(zhuǎn)換:str.upper()、str.lower();

(11)長(zhǎng)度:len(str);

3、列表(List)類(lèi)型:list用[ ]標(biāo)識(shí),是一種有序的集合。從左到右索引默認(rèn)0開(kāi)始的,從右到左索引默認(rèn)-1開(kāi)始,下標(biāo)可以為空表示取到頭或尾。

List常用操作:

(1)list類(lèi)型定義:L = ['Adam',95.5, 'Lisa',85, 'Bart',59];

(2)list訪問(wèn):L[3]、L[-2];

(3)list添加:L.insert(2,'Paul')或直接L[4]=xxx賦值;

(4)list刪除:L.pop(2);

(5)list長(zhǎng)度:len(L);

(6)list查詢(xún):L.index(“<待查詢(xún)>”)――返回下標(biāo);

(7)List循環(huán)遍歷:for index, value in enumerate (L):

(8)兩個(gè)list相加合成一個(gè):L1.extend(L2);

(9)list排序:L.sort(cmp=None, key=None, reverse=False);

(10)統(tǒng)計(jì)某個(gè)元素在list中出現(xiàn)的次數(shù):L.count(<待查詢(xún)>);

(11)list連接和重復(fù):加號(hào)(+)是列表連接運(yùn)算符,星號(hào)(*)是重復(fù)操作;

注:python快速生成list方法:[x*(x+1) for x in range(1,100,2)]表示生成列表 [1x2, 3x4, 5x6, 7x8, ..., 99x100]

4、Python元組(tuple)類(lèi)型:tuple是另一種有序的列表,中文翻譯為“ 元組 ”。元組用”()”標(biāo)識(shí)。內(nèi)部元素用逗號(hào)隔開(kāi)。但是元組不能二次賦值,相當(dāng)于只讀列表。

tuple常用操作:

tuple 和 list 非常類(lèi)似,但是,tuple一旦創(chuàng)建完畢,就不能修改了:

(1)創(chuàng)建:t = ('Adam', 'Lisa', 'Bart')或t = ('Adam',);

(2)訪問(wèn):t[0]、t[1:5];

(3)組合相加:t1+t2;

(4)刪除:del t1;

(5)長(zhǎng)度:len(t1);

(6)最大值:max(t1);

(7)最小值:min(t1);

5、字典(dict)類(lèi)型:字典是無(wú)序的對(duì)象集合。字典用”{ }”標(biāo)識(shí),字典當(dāng)中的元素是通過(guò)鍵來(lái)存取的,而不是通過(guò)偏移存取。

dict常用操作:

(1)創(chuàng)建:d = {key1 : value1, key2 : value2 };

(2)訪問(wèn):

①直接訪問(wèn):d[key1]、d[key2],這種訪問(wèn)方式在key不存在時(shí)會(huì)報(bào)錯(cuò);

②安全訪問(wèn):d.get(key1, default=None),這種訪問(wèn)方式,key不存在時(shí)返回默認(rèn)值,默認(rèn)值沒(méi)設(shè)定的情況下為None;

③不存在時(shí)set進(jìn)去:d.setdefault(key1, default=None);

(3)修改:d[key1] = value1;

(4)刪除:

① d.clear(),清空字典所有條目,對(duì)象仍存在;

② del d,刪除字典對(duì)象;

(5)長(zhǎng)度:len(d);

(6)返回所有鍵或值:d.keys()、d.values();

(7)把d2加入到d1:d1.update(d2);

(8)循環(huán)遍歷:

①for key, value in d.items():

②for key, value in d.iteritems():

③items()和iteritems()區(qū)別:

items()返回的是列表對(duì)象,而iteritems()返回的是iterator對(duì)象。 例如:

print dic.items()??????? #[('a', 'hello'), ('c', 'you'), ('b', 'how')]

print dic.iteritems()?? #

注:iteritor是迭代器的意思,一次返回一個(gè)數(shù)據(jù)項(xiàng),直到?jīng)]有為止

(9)取兩個(gè)字典交集:dict(d1.items() & d2.items());

(10)復(fù)制:

① 直接賦值:a = b――其實(shí)就是對(duì)象的引用,兩個(gè)變量一模一樣;

② 淺拷貝:b = a.copy()――拷貝父對(duì)象,不會(huì)拷貝對(duì)象的內(nèi)部的子對(duì)象;

③ 深拷貝:b = copy.deepcopy(a)――copy 模塊的deepcopy方法,完全拷貝了父對(duì)象及其子對(duì)象(兩個(gè)完全不同的變量);

淺復(fù)制原理:

Python基礎(chǔ)學(xué)習(xí)之基本數(shù)據(jù)結(jié)構(gòu)詳解【數(shù)字、字符串、列表、元組、集合、字典】_第1張圖片

深復(fù)制原理:

Python基礎(chǔ)學(xué)習(xí)之基本數(shù)據(jù)結(jié)構(gòu)詳解【數(shù)字、字符串、列表、元組、集合、字典】_第2張圖片

參考鏈接來(lái)自:https://www.jb51.net/article/163266.htm

6、集合(Set)類(lèi)型:如果我們只要dict 的 key,不關(guān)心 key 對(duì)應(yīng)的 value,目的就是保證這個(gè)集合的元素不會(huì)重復(fù),set就是這樣一種類(lèi)似于list但值不允許重復(fù)的數(shù)據(jù)結(jié)構(gòu)。

Set常用操作:

(1)創(chuàng)建:s = set(['Adam', 'Lisa', 'Bart', 'Paul']);

(2)訪問(wèn):s[1]、s[2];

(3)添加:s.add(l);

(4)刪除set元素:s.remove(l);

三、與PHP數(shù)據(jù)結(jié)構(gòu)的一些區(qū)別

1、如前言所述,Python的變量數(shù)據(jù)結(jié)構(gòu)在一開(kāi)始時(shí)也不需要強(qiáng)制聲明定義,但一旦賦值后就確定了變量類(lèi)型,除了簡(jiǎn)單的數(shù)字四則運(yùn)算能將str進(jìn)行隱式轉(zhuǎn)換外,大部分不同變量類(lèi)型直接的運(yùn)算都需要手動(dòng)進(jìn)行變量類(lèi)型的類(lèi)型轉(zhuǎn)換。

2、對(duì)于PHP的數(shù)組類(lèi)型,可以包含 索引數(shù)組和關(guān)聯(lián)數(shù)組 兩種,例如:

          

運(yùn)行結(jié)果如下:

Array
(
??? [0] => 1234
??? [a] => bcde
??? [2] => 1234
??? [b] => 5678
)

但是在Python中,這種定義是不被允許的, Python將PHP中的數(shù)組分成List(索引數(shù)組)和dict(關(guān)聯(lián)數(shù)組),二者不可合并在一起。

更多關(guān)于Python相關(guān)內(nèi)容感興趣的讀者可查看本站專(zhuān)題:《Python面向?qū)ο蟪绦蛟O(shè)計(jì)入門(mén)與進(jìn)階教程》、《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python函數(shù)使用技巧總結(jié)》、《Python字符串操作技巧匯總》、《Python編碼操作技巧總結(jié)》及《Python入門(mén)與進(jìn)階經(jīng)典教程》

希望本文所述對(duì)大家Python程序設(shè)計(jì)有所幫助。


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

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

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

您的支持是博主寫(xiě)作最大的動(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ì)您有幫助就好】

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

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論
主站蜘蛛池模板: 99在线观看免费视频 | 欧美亚洲国产日韩综合在线播放 | 女人一级毛片免费观看 | 亚洲精品一区二区三区婷婷 | 国产成人香蕉 | 日本精品区 | 狠狠躁夜夜躁人人爽天天段 | 夜间福利视频 | 大陆一级毛片免费视频观看 | 久久精品国产清自在天天线 | 亚洲精品久久麻豆蜜桃 | 在线观看深夜视频 | 天天综合网天天做天天受 | 激情小视频在线播放免费 | 久久香蕉综合色一综合色88 | 日韩一级精品视频在线观看 | 色婷婷一区 | 青青青青手机在线视频观看国产 | 欧美精品大片 | 亚洲一区综合 | 亚洲最大成人综合网 | 国产亚洲精品欧美一区 | 五月天激情亚洲婷婷在线 | 久久综合精品不卡一区二区 | 欧美日本免费观看αv片 | 久久久久久在线 | 亚洲精品99久久久久中文字幕 | 国产成人91精品 | 久久综合给合久久97色美利坚 | 久草最新在线 | 香蕉久久高清国产精品免费 | 夜夜橹| 国产午夜亚洲精品第一区 | 天天碰天天干 | 久久综合一| 亚洲国产成人私人影院 | 国产精品18久久久久久小说 | 999精品免费视频 | 国产日韩欧美中文字幕 | 黄色片免费在线观看视频 | 亚洲一区 中文字幕 |