int的轉換沒有PHP那么方便。但這也讓程序穩定性有所提升,例如和客戶端交互的時候,數據庫取出來的數字int和緩存取出來的數字(默認是string)需要手動進行轉換(否則會有" />

欧美三区_成人在线免费观看视频_欧美极品少妇xxxxⅹ免费视频_a级毛片免费播放_鲁一鲁中文字幕久久_亚洲一级特黄

Python基礎學習之基本數據結構詳解【數字、字符串、列表、元組、集合、字典】

系統 1676 0

本文實例講述了Python基礎學習之基本數據結構。分享給大家供大家參考,具體如下:

前言

相比于PHP,Python同樣也是腳本解析語言,所以在使用Python的時候,變量和數據結構相對于編譯語言來說都會簡單許多,但是 Python相比于PHP來說,變量類型的定義會比較嚴格 :string->int的轉換沒有PHP那么方便。但這也讓程序穩定性有所提升,例如和客戶端交互的時候,數據庫取出來的數字int和緩存取出來的數字(默認是string)需要手動進行轉換(否則會有報錯提示),而PHP不需要手動轉換的,返回值類型不對可能會使客戶端崩潰。所以本文也針對Python的數據結構作一個基礎總結,并在個別部分與PHP作比較。

一、數據結構類型

Python包含的常規數據結構類型有: 數字、字符串、List(列表)、Tuple(元組)、Set(集合)、 Dictionary(字典)

二、數據結構說明及其用法

1、常用數字類型:int(有符號整型) 、long(長整型[也可以代表八進制和十六進制]) 、float(浮點型) 、complex(復數:a + bj形式)

2、字符串類型:與PHP、Java等字符串類型一致。

Python字符串常用操作有:

(1)拼接:加號(+)是字符串連接運算符,如 str1 + str2;

(2)重復:星號(*)是重復操作,如 str2 = str1 * 2,表示兩個str1字符串重復拼接;

(3)剪切:

①str[0,1]――截取從0開始的一位;

②str[:10]――截取0開始的10位;

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

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

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

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

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

(8)翻轉:strrev( );

(9)復制:strncpy(str1,str2,n)――n表示復制指定長度;

(10)大小寫轉換:str.upper()、str.lower();

(11)長度:len(str);

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

List常用操作:

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

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

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

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

(5)list長度:len(L);

(6)list查詢:L.index(“<待查詢>”)――返回下標;

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

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

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

(10)統計某個元素在list中出現的次數:L.count(<待查詢>);

(11)list連接和重復:加號(+)是列表連接運算符,星號(*)是重復操作;

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

4、Python元組(tuple)類型:tuple是另一種有序的列表,中文翻譯為“ 元組 ”。元組用”()”標識。內部元素用逗號隔開。但是元組不能二次賦值,相當于只讀列表。

tuple常用操作:

tuple 和 list 非常類似,但是,tuple一旦創建完畢,就不能修改了:

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

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

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

(4)刪除:del t1;

(5)長度:len(t1);

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

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

5、字典(dict)類型:字典是無序的對象集合。字典用”{ }”標識,字典當中的元素是通過鍵來存取的,而不是通過偏移存取。

dict常用操作:

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

(2)訪問:

①直接訪問:d[key1]、d[key2],這種訪問方式在key不存在時會報錯;

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

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

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

(4)刪除:

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

② del d,刪除字典對象;

(5)長度:len(d);

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

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

(8)循環遍歷:

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

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

③items()和iteritems()區別:

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

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

print dic.iteritems()?? #

注:iteritor是迭代器的意思,一次返回一個數據項,直到沒有為止

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

(10)復制:

① 直接賦值:a = b――其實就是對象的引用,兩個變量一模一樣;

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

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

淺復制原理:

Python基礎學習之基本數據結構詳解【數字、字符串、列表、元組、集合、字典】_第1張圖片

深復制原理:

Python基礎學習之基本數據結構詳解【數字、字符串、列表、元組、集合、字典】_第2張圖片

參考鏈接來自:https://www.jb51.net/article/163266.htm

6、集合(Set)類型:如果我們只要dict 的 key,不關心 key 對應的 value,目的就是保證這個集合的元素不會重復,set就是這樣一種類似于list但值不允許重復的數據結構。

Set常用操作:

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

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

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

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

三、與PHP數據結構的一些區別

1、如前言所述,Python的變量數據結構在一開始時也不需要強制聲明定義,但一旦賦值后就確定了變量類型,除了簡單的數字四則運算能將str進行隱式轉換外,大部分不同變量類型直接的運算都需要手動進行變量類型的類型轉換。

2、對于PHP的數組類型,可以包含 索引數組和關聯數組 兩種,例如:

          

運行結果如下:

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

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

更多關于Python相關內容感興趣的讀者可查看本站專題:《Python面向對象程序設計入門與進階教程》、《Python數據結構與算法教程》、《Python函數使用技巧總結》、《Python字符串操作技巧匯總》、《Python編碼操作技巧總結》及《Python入門與進階經典教程》

希望本文所述對大家Python程序設計有所幫助。


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

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

【本文對您有幫助就好】

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

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 亚洲一区二区国产 | 成人免费毛片高清视频 | 久久久久国产精品免费免费搜索 | 韩国三级bd高清中字木鱼天 | 国产精品v欧美精品∨日韩 一级免费黄色免费片 | 99精品一区二区免费视频 | 久久最新精品 | 亚洲国产成人精品女人 | 久久久久久高潮国产精品视 | 日本99精品 | 色综合区 | 欧美日韩福利视频 | 久久99热精品 | 欧美福利视频一区二区三区 | 精品美女在线观看视频在线观看 | www.av88| 亚洲综合国产精品 | 天天影院成人免费观看 | 一级片在线播放 | 日本无卡码免费一区二区三区 | 一级做a爱片特黄在线观看yy | 亚洲码欧美码一区二区三区 | 亚洲人和日本人jizz | 久操综合| 超级97碰碰碰碰久久久久最新 | 无码激情做A爰片毛片A片小说 | 欧美网站在线看 | 九九热在线免费观看 | 激情男女视频 | 亚洲精品久 | 日韩 欧美 自拍 | 国产成人在线播放视频 | 国产欧美日韩免费 | 国产在线精品成人一区二区三区 | 欧美乱码精品一区 | 欧美一区二区三区四区视频 | 91精品久久久久久久 | 午夜小视频免费 | 亚洲国产日产韩国欧美综合 | 亚洲精品自产拍在线观看app | 亚州综合网|