2 列表和陣列

2021-08-29 09:50:47 字數 3789 閱讀 3652

從0開始指出相對於序列開頭的偏移量。這顯得更自然,同時可迴繞到序列末尾,用負索引表示序列末尾元素的位置。

禁止修改序列通常出於技術方面的考慮,與python的內部工作原理相關,這也是有些內建函式返回元組的原因所在。

如果函式呼叫返回乙個序列,可直接對其執行索引操作。

>>

> fourth =

input

('year: ')[

3]year:

2005

>>

> fourth '5'

執行切片操作時,如果第乙個索引指定的元素位於第二個索指定的元素後面,結果就為空序列。

如果切片結束於序列末尾,可省略第二個索引. 要複製整個序列,可將兩個索引都省略。

步長

步長不能為0,否則無法向前移動,但可以為負數,即從右向左提取元素。

>>

> numbers[8:

3:-1

][9,

8,7,

6,5]

>>

> numbers[10:

0:-2

]

序列相加

可使用加法運算子來拼接序列。一般而言,不能拼接不同類型別的序列。

將序列與數x相乘時,將重複這個序列x次來建立乙個新序列。

none、空列表和初始化

如果要建立乙個可包含10個元素的列表,但沒有任何有用的內容,可以使用[0]*10。然而,在有些情況下,你可能想使用表示「什麼都沒有」的值,如表示還沒有在列表中新增任何內容。在這種情況下,可使用none。可像下面這樣做:

>>

> sequence =

[none]*

10>>

> sequence [

none

,none

,none

,none

,none

,none

,none

,none

,none

,none

]

可使用運算子in來檢查指定的字串是否為另乙個字串的子串。

max(lst),min(lst),len(lst)

或者max(num1, num2, num3,)同理min()

鑑於不能像修改列表那樣修改字串:

>>

>

list

('hello')[

'h',

'e',

'l',

'l',

'o']

請注意,可將任何序列(而不僅僅是字串)作為list的引數。

要將字元列表(如前述**中的字元列表)轉換為字串,可使用下面的表示式:''.join(somelist)

修改列表:給元素賦值

不能給不存在的元素賦值,因此如果列表的長度為2,就不能給索引為100的元素賦值。

刪除元素

>>

> names =

['alice'

,'beth'

,'cecil'

,'dee-dee'

,'earl'

]>>

>

del names[2]

>>

> names [

'alice'

,'beth'

,'dee-dee'

,'earl'

]

給切片賦值

clear: 就地清空列表的內容。

>>

> lst =[1

,2,3

]>>

> lst.clear(

)>>

> lst

這類似於切片賦值語句lst[:] = 。

copy: 複製列表. 常規複製只是將另乙個名稱關聯 到列表

>>

> a =[1

,2,3

]>>

> b = a

>>

> b[1]

=4>>

> a [1,

4,3]

要讓a和b指向不同的列表,就必須將b關聯到a的副本

>>

> a =[1

,2,3

]>>

> b = a.copy(

)>>

> b[1]

=4>>

> a [1,

2,3]

這類似於使用a[:]或list(a),它們也都複製a。

count計算指定的元素在列表中出現了多少次。

extend: 使用乙個列表來擴充套件另乙個列表,就地修改比a=a+b效率高。

index: 查詢指定值第一次出現的索引

insert

pop: 從列表中刪除一位元素(預設是最後一位),並返回這一元素

remove: 刪除第乙個為指定值的元素

reverse

如果要按相反的順序迭代序列,可使用函式reversed。這個函式不返回列表,而是返回乙個迭代器(迭代器將在第9章詳細介紹)

sort就地排序

為獲取排序後的列表的副本,可以使用函式sorted.

pop是唯一既修改列表又返回乙個非none值的列表方法。

方法sort接受兩個可選引數:keyreverse。均為關鍵字引數.引數key指向乙個用於排序的函式. 函式sorted也有這兩個引數.

>> x = ['aardvark', 'abalone', 'acme', 'add', 'aerate']

>>> x.sort(key=len)

>>> x

['add', 'acme', 'aerate', 'abalone', 'aardvark']

只要將一些值用逗號分隔,就能自動建立乙個元組。

特殊:只包含乙個值的元祖,雖然只有乙個值,也必須在它後面加上逗號

>>> 1, 2, 3

(1, 2, 3)

>>> 42

42>>> 42,

(42,)

函式tuple的工作原理與list很像:它將乙個序列作為引數,並將其轉換為元組。如果引數已經是元組,就原封不動地返回它。

玩蛇 (2)列表

什麼是列表 列表由一系列按照特定順序排列的元素組成。python中用 來表示列表。lists python 爬蟲 人工智慧 通過下標的方式訪問列表中的元素 下標從 0 開始 print lists 1 爬蟲修改新增刪除元素 修改 lists 1 蟒蛇 新增 在列表末尾追加 lists.insert ...

2,列表和元組

資料結構,以某種方式組合起來的資料元素的集合。python最基本的資料結構為序列,序列中每個元素都有編號,即其位置或索引。python中常用的三種序列 列表 元組 字串。注 列表可以修改,元組 字串不可修改,列表 元組中的元素是多樣的。注 列表以 標識 元組以 標識 字串以雙引號標識。通用序列操作 ...

學習Vue(3)列表渲染和陣列更新檢測

在遊戲當中涉及到了列表,需要左右各兩個列表展示使用者的資訊,介面如圖 首先在data裡面定義兩個陣列列表 data 然後再onload 裡面通過房間id獲取當前房間的使用者列表,並呼叫updateuser 跟新資料,這裡使用假資料測試 var users this.updateuser users ...