Python一共有三大數(shù)據(jù)結(jié)構(gòu)峻黍,是Python進(jìn)行數(shù)據(jù)分析的基礎(chǔ)复隆,分別是元組(tuple),列表(list)姆涩,字典(dict)挽拂。
本篇主要介紹列表和元組,其中還會加入索引骨饿、切片亏栈、列表元素進(jìn)行添加,刪除宏赘,更改绒北、一維數(shù)組、多為數(shù)組等知識察署。
1闷游、列表:
列表也稱為數(shù)組,是一個(gè)有序的集合贴汪,用方括號表示脐往,列表有一維,也有多維的扳埂。
列表里的數(shù)據(jù)類型沒有限定业簿,可以是整數(shù)、浮點(diǎn)數(shù)也可以是字符串聂喇,或者是混合類型的數(shù)據(jù)辖源。
列表可以直接用特定的函數(shù)(如sum郑象、len等):
sum是求和券坞,len是統(tǒng)計(jì)列表中的元素個(gè)數(shù)。
1.1索引
上述列舉的函數(shù)是對整體的列表元素進(jìn)行計(jì)算的卦停,如果我們只想針對單一的元素呢誊辉?比如查找矾湃?這里就要用到數(shù)組的特性,索引了堕澄。
索引是用來指示數(shù)據(jù)所在位置的邏輯指針邀跃,數(shù)組的索引就是元素所在的序列位置霉咨。
由圖中我們可以知道索引的位置是從0開始的,這個(gè)是Python里默認(rèn)的設(shè)置拍屑,也就是說第一個(gè)元素是num[0]途戒,而num[2]表示的是第三個(gè)元素。
索引還可以從最后一個(gè)數(shù)字開始索引僵驰,其只要用負(fù)數(shù)來表示就可以喷斋。
負(fù)數(shù)索引是從-1開始計(jì)算的,所以num[-2]表示的是倒數(shù)第二個(gè)元素蒜茴。
1.2切片
索引選取的是單個(gè)元素星爪,那如果我們想要篩選出多個(gè)元素要怎么處理呢?
在Python中我們是用:來表示切片的(也就是選取范圍)粉私。
切片篩選的時(shí)候顽腾,左邊是閉區(qū)間,右邊是開區(qū)間诺核,因此選取的的時(shí)候并不包括右邊的數(shù)字位置的元素抄肖。
其中[0:]表示從第一個(gè)元素開始到最后一個(gè)元素,[:5]表示從第一個(gè)元素開始到第五個(gè)元素猪瞬。
負(fù)數(shù)表示的話憎瘸,[-1:]表示從最后一個(gè)元素,[:-1]表示從第一個(gè)元素開始到最后一個(gè)元素陈瘦。
列表的增加和刪除
以上所說的是列表的查詢幌甘,那么如果要對列表進(jìn)行元素的添加、刪除和更改要怎么做呢痊项?
這里就需要用到函數(shù)了(函數(shù)的具體內(nèi)容后續(xù)會介紹锅风,這邊先了解幾個(gè))。
insert函數(shù)
insert函數(shù)表示插入數(shù)值鞍泉,有兩個(gè)參數(shù)皱埠,第一個(gè)表示位置,第二個(gè)表示插入的值咖驮。
append函數(shù)
append函數(shù)是直接在列表的末尾添加上元素边器,在迭代和循環(huán)時(shí)應(yīng)用較多。
pop函數(shù)
pop函數(shù)可以用來選擇刪除特定位置的函數(shù)托修,沒有選擇位置的話默認(rèn)的是刪除最后一個(gè)元素忘巧。
元素的更改
元素的更改直接重新賦值就可以,無需使用到函數(shù)
以上所講的都是關(guān)于一維列表睦刃,那么如果是多為的要怎么處理呢砚嘴?比如現(xiàn)在有一份人員名單,要求包含有姓名、年齡际长、性別三個(gè)信息耸采,要怎么應(yīng)用列表來表示呢?
這時(shí)候我們就要想要多維的列表(也稱為多維數(shù)組)了工育,而且有兩種方法可以進(jìn)行處理虾宇。
其中方法二會更加的直觀,也更加的不容易出錯(cuò)翅娶,后續(xù)的操作也更加的簡便文留。
有上述例子可以看出,其實(shí)多維列表就是在列表之內(nèi)再嵌套列表竭沫,上述例子表示的是一個(gè)3*3的列表(數(shù)組)。
多維數(shù)組還可以進(jìn)行多級選擇骑篙,多級選擇只需要在加一次索引就可以了蜕提。
快速創(chuàng)建多維數(shù)組
如果要?jiǎng)?chuàng)建一個(gè)3*4的數(shù)組,那么只需要進(jìn)行如下操作:
在操作的過程中要記得不能忘了加中括號靶端。
這樣的方法創(chuàng)建的多維數(shù)組進(jìn)行索引元素賦值時(shí)會出現(xiàn)錯(cuò)誤谎势。
這個(gè)是因?yàn)樵趌ist = [row]*4的操作中,只是創(chuàng)建3個(gè)指向row的引用杨名,可以簡單的理解成四個(gè)數(shù)組是一體的脏榆,一旦其中一個(gè)改變,所有的都會改變台谍。
比較穩(wěn)妥的方法是直接定義多維數(shù)組须喂,或者用循環(huán)間接定義。
多維數(shù)組是一個(gè)很重要的概念趁蕊,它也能直接表示成矩陣坞生,是很多算法和分析的基礎(chǔ)。
元組
元組和列表(數(shù)組)很相似掷伙,不過是用圓括號進(jìn)行表示的是己,而且元組的元素不能修改。
元組在選擇(索引任柜、切片)很列表都是一樣的卒废,這邊就不重復(fù)介紹了,只要重點(diǎn)記住元組是不可更改的就可以宙地。