序列是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字典包含了以下內建函式:![](https://pic.w3help.cc/52c/8239f0aa32f4c15301bd112e14134.jpeg)
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個元素的元組 元組可以使用下標索引來訪問...