python基礎學習筆記(二) 元組,列表,字典

2021-09-26 08:29:20 字數 4968 閱讀 3720

序列是python中最基本的資料結構。序列中的每個元素都分配乙個數字 - 它的位置,或索引,第乙個索引是0,第二個索引是1,依此類推。python有6個序列的內建型別,但最常見的是列表和元組。序列都可以進行的操作包括索引,切片,加,乘,檢查成員。此外,python已經內建確定序列的長度以及確定最大和最小的元素的方法。

列表叫做:list,list是以中括號來命名的,列表的資料項不需要具有相同的型別,例如:

a_list = [12, 3, 67, 7, 82]

>>>

a = [1,2,3,4,1,1,-1]

print(a[0]) # 顯示列表a的第0位的值

# 1print(a[-1]) # 顯示列表a的最末位的值

# -1

print(a[0:3]) # 顯示列表a的從第0位 到 第2位(第3位之前) 的所有項的值

# [1, 2, 3]

print(a[5:]) # 顯示列表a的第5位及以後的所有項的值

# [1, -1]

print(a[-3:]) # 顯示列表a的倒數第3位及以後的所有項的值

# [1, 1, -1]

我們可以給列表元素賦值:

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

>>> x[2]=18

>>> x

[1, 2, 18, 4]

a = [1,2,3,4,1,1,-1]

print(a)

# [1, 2, 3, 4, 1, 1, -1, 0]

insert方法

a = [1,2,3,4,1,1,-1]

a.insert(1,0) # 在位置1處新增0

print(a)

# [1, 0, 2, 3, 4, 1, 1, -1]

我們一般使用del 語句去刪除列表元素:

>>> names = ['zhangsan','lisi','wangwu','sunliu']

>>> del names[2]

>>> names

['zhangsan', 'lisi', 'sunliu']

也可以使用remove方法去移除列表的某乙個元素:

a = [1,2,3,4,1,1,-1,2]

a.remove(2) # 刪除列表中第乙個出現的值為2的項

print(a)

# [1, 3, 4, 1, 1, -1,2]

注意:這裡移除的是第乙個出現的值為2的元素

列表的其他函式:

列表的其他方法:

1、count

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

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

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

>>> x.count(1)

2>>> x.count([1,2])

1

2、extend

在列表末尾一次性追加另乙個序列中的多個值(用新列表擴充套件原來的列表):

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

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

>>> a.extend(b)

>>> a

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

3、index

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

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

>>> knights.index('who')

4>>> knights[4]

'who'

4、pop

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

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

>>> x.pop()

3>>> x

[1, 2]

>>> x.pop(0)

1>>> x

[2]

5、reverse

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

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

>>> x.reverse()

>>> x

[3, 2, 1]

6、sort

sort方法用於在原位置對列表進行排序。在「原位置排序」改變原來的列表,從而讓其中的元素能按一定的順序排列。

>>> x = [4,6,2,1,7,9]

>>> x.sort()

>>> x

[1, 2, 4, 6, 7, 9]

元組叫做 tuple,用小括號、或者無括號來表述,是一連串有順序的數字。

例如:

>>> a_tuple = (12, 3, 5, 15 , 6)

>>> another_tuple = 12, 3, 5, 15 , 6

>>>

元組叫做 tuple,用小括號、或者無括號來表述。元組與列表一樣,也是一種序列。唯一的不同是元組不能改變。

例如:

>>> tuple = () #這是創造的乙個空元組

>>> a_tuple = (12, 3, 5, 15 , 6)

>>> another_tuple = 12, 3, 5, 15 , 6

>>>

元組中只包含乙個元素時,也需要在元素後面新增逗號:

>>> 42,

(42,)

>>> (42,)

(42,)

>>> 3 * (20+1)

63>>> 3 * (20+1,)

(21, 21, 21)

以乙個序列作為引數並把它轉換為元組:

>>> tuple([1,2,3])

(1, 2, 3)

>>> tuple('abc')

('a', 'b', 'c')

>>> tuple((1,2,3))

(1, 2, 3)

同樣,元組的刪除也可以使用del語句(不能刪除元素,只能刪除整個元組)。

元組的其他內建函式:

字典是另一種可變容器模型,且可儲存任意型別物件。字典是由鍵值對組成的。

字典的每個鍵值(key=>value)對用冒號(:)分割,每個對之間用逗號(,)分割,整個字典包括在花括號({})中 ,格式如下所示:

d =
注意:鍵必須是唯一的,但值則不必,也就是說乙個鍵可以對於兩個值,但是乙個值不可以對應兩個鍵。值可以取任何資料型別,但鍵必須是不可變的,如字串,數字或元組。

如果說list是有順序地輸出輸入的話,那麼字典的存檔形式則是無需順序的, 我們來看乙個例子:

在字典中,有key和 value兩種元素,每乙個key對應乙個value, key是名字, value是內容。數字和字串都可以當做key或者value, 在同乙個字典中, 並不需要所有的key或value有相同的形式。 這樣說, list 可以說是一種key為有序數列的字典。

a_list = [1,2,3,4,5,6,7,8]

d2 =

d3 =

print(a_list[0]) # 1

del d1['pear']

d1['b'] = 20

以上的例子可以對列表中的元素進行增減。在列印出整個列表時,可以發現各個元素並沒有按規律列印出來,進一步驗證了字典是乙個無序的容器。

def func():

return 0

print(d4['pear'][3]) # a

字典還可以以更多樣的形式出現,例如字典的元素可以是乙個list,或者再是乙個列表,再或者是乙個function。索引需要的專案時,只需要正確指定對應的key就可以了。

向字典新增新內容的方法是增加新的鍵/值對,修改或刪除已有鍵/值對如下例項:

dict = 

dict['age'] = 8 # 更新 age

dict['school'] = "希望星選" # 新增資訊

print ("dict['age']: ", dict['age'])

dict['age']: 8

print ("dict['school']: ", dict['school'])

dict['school']: 希望星選

python字典包含了以下內建函式:

python字典包含了以下內建方法:

Playlist 二元組貪心

playlist 題意 給定長度為n的陣列a i b i 選擇至多k個元素,使得sum min b i 最大 解析 貪心 按b i 降序排列,依次裝入計算,求最大的乘積.貪心規則是每次選擇乙個已經選到的max a x 裡最小的刪去,加上乙個a i 因為是降序排列所以min b b i 遍歷貪心 ac...

python基礎筆記06 元組

元組基本介紹 字典的作 和列表類似,都是 來儲存物件的容器 列表儲存資料的效能好,但是查詢資料的效能差,字典正好與之相反 在字典中每 個元素都有唯 的名字,通過這個唯 的名字可以找到指定的 元素tuple.值,當獲取不到值的時候會返回預設值 後它會將刪除的key value作為返回值返回 預設值,當...

Python基礎學習筆記十(元組)

二 訪問元組 三 元組函式 運算子 三 元組解包 元組 tuple 與列表類似,不同之處在於元組的元素不能修改。元組使用小括號,列表使用方括號。使用 來建立空元組 當元組不是空元組時,括號可以省略 如果元組不是空元組,它裡邊至少要有乙個元素和乙個 建立了乙個5個元素的元組 元組可以使用下標索引來訪問...