python之列表與元組

2021-12-29 21:29:17 字數 3535 閱讀 6706

python之列表與元組:今天,我們先來介紹python裡的資料的基本組成方式。在python裡面有這些的高階父類,叫做容器,容器包含但不僅限於以下3類:序列、對映與集合。

其中,python共有6中內建的序列:列表、元組、字串、unicode字串、buffer、xrange物件。

下面先簡單介紹一下列表和元組:

1)列表,就如同陣列一樣,不過各個元素可以是不同的,比如:

edward=[『a』,2,』d』]而且,列表是可以巢狀的,比如:

edward=[『a』,2,』d』]

john=[『b』,3,』c』]

database=[edward,john]這樣都是可以得。

2)那麼元組又是什麼呢,簡而言之,元組就是不可變的列表,就是這樣簡單。

那麼這個所謂的序列,又和其他語言的列表有什麼不同呢?

不同點1:索引的使用

相比較所有語言的列表的使用方式都是list[index]來講,python也沒有例外,它同樣採用相同的方式來進行索引,而不同的是,它可以使用負值來進行索引,比如list[-1]就代表的是list的右邊第乙個,以此類推,這樣這個列表就可以倒著來數了。

那麼,除了這個不同點,另外還有什麼不同點嗎?

不同點2: 列表的新增

你以為是說list.add()嗎?不不不,python裡面的使用都是很簡潔的。

如果我們要建立乙個陣列,可以這樣

number=[『1』,』2』,』3』,』4』,』5』,』6』,』7』,』8』,』9』,』10』]好的,我們先寫這麼多,但是我們現在想輸出的是序數詞,比如1st,2nd,3rd,4th等等,怎麼辦呢?我們接下來再寫乙個陣列:

endings=[『st』,』nd』,』rd』,』th』, 』th』, 』th』, 』th』, 』th』, 』th』, 』th』]好的,這樣我們的序數詞,就出來了。

等下,是不是太麻煩了,如果要寫100個,1000個怎麼辦?再程式設計,no,python可以這樣寫:

endings=[『st』,』nd』,』rd』]+7*[『th』]沒錯,你沒有看錯,它的陣列可以這樣來用,是不是特別方便!難道,只有這兩點不同了嗎?

不同點3: 分片

列表的索引也是可以使用以下形式表示:

tag=[』hello』,』my』,』name』,』is』,』stiven』,』yi』,』liu』,』nice』,』to』,』see』,』you』]我們只想要名字,該怎麼辦?好像用原來的方法挺困難的,不過看一下下面的表示

name=tag[4:-4],對沒錯,就是這樣任性,當然,現在其他語言好像也支援這種索引了,不過課本上教的,可沒有這種表示方法哦。

但是如果我們要把最後乙個元素也加上,那麼只能用一下表示方式:

tag[4:],這樣就可以把從第四個元素到最後的所有元素都包含了。

當然,這是不是讓你想起來那個foreach()了呢?是不是說for()迴圈更熟悉一些?

可能我們之前要找到乙個列表的偶數字的元素成為乙個列表,要寫好幾句話,不過,在python這裡,只需要一句話,我們就用上面的例子就可以:

double= number[0:10:2]哇,這簡直不就是for()迴圈嗎?沒錯,它就是for()迴圈:for(int i=0;i<10;i+=2),這樣看起來是不是更明白一些?而且偷偷告訴你,步長也是可以為負值的哦。

現在,我們討論序列的一些運算了,主要包括,序列的相加,序列的乘法(我們剛才提過一點點),成員資格,長度,最小值,最大值等等。

1、 序列的相加:

序列相加只需要注意,兩個序列的型別是一樣的才能進行相加,這點不用我過多描述吧。我想強調的是下面這種:

[1,2,3]+[4,5,6]

這種相加,得出的結果是[1,2,3,4,5,6],但是如果你想得到[1,2,3,[4,5,6]]那你就不能使用+號了,這個內容,在接下來的章節中,會有所提及。

2、 序列的乘法,你只需要把所需要的部分當作是數一樣即可:

[42]*5,得出的結果就是[42,42,42,42,42],就是這麼簡單。

3、序列的成員資格,即成員是否在序列內。python使用的和其他語言相同,in這個詞的意思實在是在明顯不過了,它返回的是乙個true/false,即布林型變數,例如:

permission=』rw』『w』 in permission,其返回值即為true

4、序列的長度,最大值,最小值.相信大家對於len,max,min的使用並不陌生的,但是注意的是,python的這些函式,並不是像其他語言一樣,list.len()來使用,而是len(list)這樣使用。

這樣,我們就把序列的一些普遍特性講解過了,下面進行列表和元組的詳細講解:

列表作為python**現的如此頻繁的資料結構,可以說是其中堅力量。除去上面所說的普遍特性,下面,我們想講一講列表的自身的特性:

1、 list函式

這個函式挺熟悉的吧,他可以建立乙個列表,list(『hello』)得出的結果是[『h』,』e』,』l』,』l』,』o』]

2、 基本操作

names=[『a』,』b』,』c』,』d』]

刪除成員,它長這樣: del names[2],結果就是[『a』,』b』,』d』],特殊吧,不過挺好用的。

分片賦值,除了之前所說的,分片賦值還可以執行插入

nums=[1,5];numbers[1:1]=[2,3,4]其結果就是[1,2,3,4,5]

3、 下面我們說列表的方法

1) append方法,這個方法很熟悉了,這次是在後面加的尾巴:lst.append()

2) count方法,這個方法不是說列表的成員數,而是有引數的,其表示該引數在列表裡出現的次數。nums.count(1)表示1在nums裡出現的次數。

3) extend方法,這個方法就比較特殊了,他就相當於是在列表後追加乙個列表裡的內容,和append方法不同的是,append()追加的是乙個元素,而extend是乙個列表,一下來說明:

a=[1,2,3];b=[4,5,6]

a.append(b),a=[1,2,3,[4,5,6]]

a.extend(b);a=[1,2,3,4,5,6]

4) index這個方法就是從列表中找出第乙個匹配項的索引位置。

5) insert沒啥好講的,跟其他語言相同。

6) pop,這個如果熟悉的話,是push的反向操作,因此它是移除列表中的乙個元素,並且返回該元素的值,它預設是移除最後乙個,當然你也可以指定移除第幾個。push的話,python使用的是append來代替的。

7) remove這個也沒什麼好講的

8) reverse這個也是一樣,使元素反向存放。

9) sort這個函式也是大家所熟知的,但是在使用上需要注意:

sort排序是在原位置進行排序,即會重新排序目標,比如y=x.sort(),這樣y是空值,x則已經排好了。與我們的想法不同,因此,應該這樣y=x[:],y.sort(),而且要注意的是,千萬不要y=x,因為這樣,python預設的是引用,即y的改變也會影響到x。

如果非要做,可以是y=sorted(x),這樣也可以。

sort的引數也可以提供關於排序上面的方法的擴充套件,具體的我們會在以後的章節中介紹。偷偷的透露一下,比如像lambda表示式哦。

python之列表 元組

一 列表 1.作用 按位置存放多個值 2.定義 l 1,1.2,aaa print type l 3.型別轉換 但凡能夠被for迴圈遍歷的型別都可以當做引數傳給list 轉成列表 res list hello print res l for x in hello x print l res list...

python自學之列表 元組

python最基本的資料結構是序列。序列顧名思義,就是按照順序排列的一些物件,注意這些物件可以是不同型別 甚至可以是序列 這點與c 等語言中的陣列不一樣。常見的內建序列包括列表 元組和字串。現在我們將學習列表和元祖,字串單獨一篇。序列通用的操作就是 索引也就是下標,取值,python中的索引下標可以...

python基礎之列表元組

1 整數 int 2 浮點數 float 3 字串 string 4 布林型 boolean 1 列表特點 1 存放任意資料型別 2 屬於可變物件,值可以修改 列表演示 testlist1 10 20,30 40,50 testlist2 a b c testlist3 a 33 10,20 1,2...