Python 01 列表和元組

2021-07-26 06:12:29 字數 3965 閱讀 2559

列表和元祖是python的基本資料結構。本文首先對序列做乙個概覽,然後講解序列的通用操作,然後分別講解列表和元組。

在python中最基本的資料結構是序列,在序列中每個元素被分配乙個序號-即元素的位置,也成索引。python包含6種內建的序列:列表、元組、字串、unicode字串、buffer物件、xrange物件。

python之中還有一種名為容器(container)的資料結構。容器基本上是包含其他物件的任意物件。序列(例如列表和元組)和對映(例如字典)是兩類主要的容器。序列中每個元素都有自己的編號,而對映中每個元素則有乙個名字(也稱為鍵)。

方法:一些內建型別(例如列表和字串,元組則不在其中)具有很多有用的方法。這些方法有些像函式,不過它們與特定值聯絡密切。方法是物件導向程式設計的乙個重要的概念。

所有的序列型別都可以進行這些特定的操作:索引、分片、加、乘、成員資格、長度(最大元素、最小元素等)。

序列中所有元素都是有編號的-從0開始遞增,最後乙個元素的位置編號是-1(不是-0)。

>>> greeting = 'hello'

>>> greeting[0]

'h'

分片操作來訪問一定範圍內的元素,分片通過冒號隔開的兩個索引來實現:。

>>> numbers=[1,2,3,4,5,67,8,9,10]

>>> numbers[2:3]

[3]# 訪問後3個元素

>>> numbers[-3:]

[8,9,10]

#訪問前3個元素

>>> numbers[:3]

[1,2,3]

#更大的步長

>>> numbers[0:10:2]

[1,3,5,7,9]

通過使用加運算子可以進行序列的連線操作:

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

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

>>> 

'python'*5

'pythonpythonpythonpythonpythonpython'

in運算子可以檢查乙個值是否在序列(或者其它容器)中,對字串使用in操作符是乙個特例,它可以查詢子字串。

>>>permission='rw'

>>>'w'

in permission

true

內建函式len、min和max非常有用。len函式返回序列中所包含元素的數量,min函式和max函式則分別返回序列中最大和最小的元素。

>>> numbers=[100,34,78]

>>> len(numbers)

3>>> min(numbers)

34>>> max(nubmbers)

100

字串有時候不像列表一樣被修改,所以有時候可以先轉換成列表然後再進行修改。

#list函式適合於所有型別的序列,不只是字串。

>>>list('hello')

['h','e','l','l','o']

可以通過下面這個表示式將列表轉換成字串。

」.join(somelist)

somelist是需要轉換的列表。

1.改變元素:元素賦值

>>> x=[1,1,1]

>>>x[1]=2

>>>x

[1,2,1]

2.刪除元素

從列表中刪除元素非常容易,使用del語句來實現。

>>> names=['alice','beth','cecil','dee-dee','earl']

>>>

del names[2]

>>> names

['alice','beth','dee-dee','earl']

3.分片賦值
>>>name=list('perl')

>>>name

['p','e','r','l']

>>>name[2:]=list('ar')

>>>name

['p','e','a','r']

>>> lst=[1,2,3]

>>> lst

[1,2,3,4]

2.count

count方法統計某個元素在列表中出現的次數:

>>>['to','be','or','not','to','be'].count('to')

2

3.extend

extend方法可以在列表的末尾一次性追加另乙個序列中的多個值。

>>> a= [1,2,3]

>>> b= [4,5,6]

>>> a.extend(b)

>>> a

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

4.index

index方法用於從列表中找出某個值第乙個匹配項的索引位置。

>>>knights = ['who','are','the','knights','who','say','ni']

>>>knights.index('who')

4

5.insert

insert方法用於將物件插入列表中:

>>> numbers=[1,2,3,5,6,7]

>>> numbers.insert(3,'four')

>>> numbers

>[1,2,3,'four',4,5,6]

6.pop

pop方法會移除列表中的乙個元素(預設是最後乙個),並且返回該元素的值。

>>>x=[1,2,3]

>>>x.pop()

3>>>x

[1,2]

7.remove
>>>x=[1,2,3]

>>>x.pop()

>>>x

>[1,2]

8.reverse

reverse方法將列表中的元素反向存放

>>> x=[1,2,3]

>>> x.reverse()

>>> x

[3,2,1]

9.sort

sort方法用於在原位置對列表進行排序,不是簡單的返回乙個已排序的列表副本。

>>>x =[2,1,3,4]

>>>x.sort()

>>>x

[1,2,3,4]

10.高階排序

可選引數:key,reverse。

key可以根據元素的長度進行排序,可以使用len作為鍵函式。

reverse用來指明列表是否要進行反向排序。

元組與列表一樣,也是一種序列。唯一不同的是元組不能修改。

>>>1,2,3

(1,2,3)

#單個元素的元組-必須加個逗號,即使只有乙個值:

>>> (42,)

(42,)

tuple函式的功能和list函式基本上是一致的:以乙個序列作為引數並把它轉換為元祖。

#輸入為元組

>>>tuple(1,2,3)

(1,2,3)

#輸入為字串

>>>tuple('abc')

['a','b','c']

元組可以在對映中當做鍵來使用-而列表則不行。

元組作為很多內建函式和方法的返回值存在。

python學習筆記01 列表 元組和字典的區別

前言 python學習中,經常會用到列表 元組和字典,對於新學者而言,往往不能清晰的了解和分辨三者之前的具體差別。為了解決這一點,方便後續複習,特總結本篇文章,作為學習的記錄。1 列表 list 通過索引index,可以從列表中獲取單個元素 從列表中刪除元素的方法有 remove del和pop r...

Python (二)列表 元組

一 列表 相當於c中的陣列,內部的元素是可以改變的,對元素進行增刪改以及進行插入操作。是一種有序的集合 建立list list1 test1 test2 test3 訪問元素 通過下標進行索引 list1 2 列表的下標從0開始,在元素的個數減1的位置結束。末尾追加元素 指定位置插入元素 listt...

python學習2 列表和元組

二列表和元組 2.1 序列 python中最基本的資料結構是序列。python有6種內建序列 列表 元組 字串 unicode字串 buffer物件和xrange物件。列表和元組的主要區別 列表可以修改,元組不可以修改 通用的序列操作 索引 分片 加 乘 檢查某個元素是否屬於序列的成員 計算序列長度...