第三章 容器 ---->列表、元組、字典、set

集合容器:列表 元組 列表和元組相互轉換 字典 set

列表:

用一對方括號[]表示 列表中可以存儲任何類型的數據

一般情況下一個列表存放的數據類型 都一樣 這樣便于對列表的操作


增:

list.append(value) 在列表尾部添加元素

value = list.insert(index) 根據索引向列表中插入元素

list.extend(list1) 向list追加list1中所有的元素 也是兩個列表相連接的意思


刪:

list.remove(value) 移除列表中某個元素

list.pop() 刪除列表末尾元素

list.pop(index) 根據索引刪除元素

del list[index] 根據索引刪除元素


查:

value = list[index] 根據索引查找元素

list.count(value) 統計列表中某個元素出現次數

index = list[value] 根據值來查找對應的索引

len(list) 列表長度

max(list) 列表中元素最大值 僅限于列表中都是數字的情況

min(list) 列表元素最小值


改: list[index] = value

切片: list[x:y:l] x:從索引幾開始(包含) y:到索引幾結束(不包含) l:每次切片的長度

常見的幾種情況

list = [1,2,3,4,5,6,7,8,9,0]

#從頭切到位

print(list[::]) #[1, 2, 3, 4, 5, 6, 7, 8, 9, 0]

print(list[1:5:2]) #[2, 4]

print(list[0:5:2]) #[1, 3, 5]

print(list[::-1]) #[0, 9, 8, 7, 6, 5, 4, 3, 2, 1]

print(list[::-2]) #[0, 8, 6, 4, 2]

print(list[-2:1:-2])#[9, 7, 5, 3]

print(list[-2:1:2]) #[]若找不到則輸出空列表

print('*'*30)


判斷:

in 在則輸出Ture 否則返回False

not in 不在則輸出Ture 否則返回False


反轉:

reserve()

list.reverse() 對原列表倒敘排列

list.sort() 按順序排列

'''

#reverse = True 時倒序排列

list1 = [1,2,3,4,5,69,0,7,8,]

print(list1)

list1.sort()# list.sort()=list.sort(reserve = False)

print(list1)

list1.sort(reverse = True)#false 默認正序 Ture 默認倒序

print(list1)

'''


遍歷: for in while enumerate

'''

list1 = [1,2,3,4,5,6,7,8,9,0]

print('****************1、for 變量名 in list*******************')

for a in list1:

?print(a)

print('****************2、for index in range(list)*******************')

for a in range(len(list1)):

print('index-->%s,value-->%s'%(a,list1[a]))

print('****************3、while index < len(list)*******************')

a = 0

while a < len(list1):

print('index-->%s,value-->%s'%(a,list1[a]))

a+=1

print('****************4、for index,obj in enumerate(list)*******************')

for a,obj in enumerate(list1):

print('index-->%s,value-->%s'%(a,list1[a]))

'''


元組:

tuple用一對小括號()表示

元組和列表相似 但是元組是不可改變的

有查詢,判斷的操作

max(tup) min(tup) value = tup[index] len(tup) in not in

刪除的話是刪除整個列表

和列表一樣也可以使用四種方法遍歷

列表和元組相互轉換:

list = list(tup)

tup = tuple(list)

'''

list1 = [5,6,7]

tup = tuple(list1)

print(tup)

tup = (1,2,3)

list1=list(tup)

print(list1)

'''


字典:

用對花括號表示{key:value}

字典里面元素都是鍵值對的形式存在 key必須是唯一的 value可以是任何類型


增(改):

map('key') = value 若字典中沒有該鍵則添加 若有則更新此鍵對應的值


刪:

map.pop(key) 根據鍵刪除元素 并將此元素返回

map.popitem() 隨機刪除一個鍵值對

del map[key] 根據鍵刪除元素

map.clear() 清空字典


查:

value = map[key] 根據鍵查詢值 若無此鍵報錯

value = map.get(key,[默認值]) 如果key不存在,可以返回None,或者自己指定的value

len(map) 字典中鍵值對的個數

str(map) 輸出字典可打印的字符串表示

map.keys() 輸出所有鍵

map.values() 輸出所有值

map.items() 輸出所有鍵值對


判斷: in not in

遍歷:for循環遍歷的三種方式

'''

map1 =? {'a':'a','b':'b','c':'c','d':'d'}

for a in map1.keys():

print('key-->%s,value-->%s'%(a,map1[a]))

print('***********************************')

for a in map1:

print('key-->%s,value-->%s'%(a,map1[a]))

print('***********************************')

for k,v in map1.items():

print('key-->%s,value-->%s'%(k,v))

'''


其他操作:

map2 = map1.copy() 返回一個新的字典,內容一樣,地址不同

dict.update(dict2) 把字典dict2的鍵值對更新到dict里

和list比較,dict有以下幾個特點:

查找速度極快,不會隨著key的增加而變慢;

需要占用大量的內存,內存浪費多。

而list:

查找和插入的時間隨著元素的增加而增加;

占用空間小,浪費內存很少。

所以,dict是用空間來換取時間的一種方法。

set:

set = {值1,值2,.....值}

set是無序的 元素不可重復的集合 可以用來過濾重復元素

增:

set.add(value) 向set中添加元素

set.update(value) 將一個可迭代的內容,一一加入set中


刪:

set.pop() 刪除任意一個值

set.discard(value) 刪除指定元素 若無此元素也不報錯

set.remove(value) 刪除指定元素 若無此元素報錯

set.clear() 清空set集合


其他:

| 并集

& 交集

intersection 交集函數 print(set.union(set1))

- 差集

difference 差集

in 判斷

union 聯合

issubset 子集

issuperset 父集


多維:

多維列表,元組

就是列表里套列表 這里以列表為例子

'''

list1 = [[1,2],[1,2,3],[1,2,3,4,],[1,2,3,4,5]]


#遍歷此列表

x = 0

#外層循環遍歷行

while x < len(list1):

y = 0

#內層循環遍歷列

while y < len(list1[x]):

print('x-->%s,y-->%s,xy-->%s'%(x,y,list1[x][y]))

y+=1

x+=1

'''

傳遞:

可變類型:列表 字典 set

兩個變量引用同一個元素時 地址值是相同的,

當一個變量值發生變化另一個變量值 也會發生變化

不可變類型:int float str bool None 元組

兩個變量引用一個值時,地址值時相同的修改一個變量值,

不會影響另外一個變量值

'''

#不可變類型

a = 1

b = a

print(a)

print(id(a))

print(b)

print(id(b))

print('**********************')

a = 2

print(a)

print(id(a))

print(b)

print(id(b))

print('**********************')

#可變類型

set = {1,2,3,4,5,56}

set1 = set

print(set)

print(id(set))

print(set1)

print(id(set1))

print('**********************')

set.pop()

print(set)

print(id(set))

print(set1)

print(id(set1))

?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容