參考Python中串列和字典有什么區別?作的學習記錄,
目錄
- 串列
- 串列具有“異構性”,可以包含不同型別的物件
- 串列是“有序的”,切片,左閉右開
- 負索引
- 步進切片
- 串列插入,修改,洗掉不需要重新建表
- 排序
- 字典
- 讀取
- 插入
- 用串列生成字典
- 用鍵值對元組組成字典
- 獲取鍵值
- 洗掉鍵
- 排序
串列
串列具有“異構性”,可以包含不同型別的物件
l = [1, [2.3, 4],'temp']
串列是“有序的”,切片,左閉右開
l = [1,2,3,4,5,6,7]
l[1:4] = [2,3,4]
//1:4表示序號1到序號4,序號為1的為2,序號為4的為5,根據左閉右開,所以為[2,3,4]
l[1:] = [2,3,4,5,6,7]
l[:6] = [1,2,3,4,5,6]
l[:7] 報錯SyntaxError: invalid character in identifier,超出最大序號了
l[:] = list
負索引
l = [1,2,3,4,5,6,7]
l[2:-1] = [3,4,5,6]//2代表起始序號(正序),-1代表末序號(逆序) ,即序號為6也是-1,序號為5也是-2
步進切片
l = [1,2,3,4,5,6,7]
l[0::2] = [1,3,5,7]//0代表起始序號,2代表步進
l[1::3] = [2,5]
串列插入,修改,洗掉不需要重新建表
***********插入
l = [1,2,3,4,5,6,7]
l.append(8)//在尾部插入
print(l) //[1,2,3,4,5,6,7,8]
l.insert(1,1.5)//1代表插入位置,插入1.5
print(l)//[1,1.5,2,3,4,5,6,7,8]
l.insert(10,11)//插入位置大于串列長度,則在末尾插入
print(l)//[1,1.5,2,3,4,5,6,7,8,11]
l.extend([12,13,14])//同時在尾部插入多個元素
print(l)//[1,1.5,2,3,4,5,6,7,8,11,12,13,14]
***********修改
l = [1,2,3,4,5]
l[0] = "?"
print(l)//['?',2,3,4,5]
l[0:2] = ['a,'b']
print(l)//['a','b',3,4,5]
***********洗掉
l = [1,2,3,1]
l.remove(1)
print(l)//[2,3,1],默認洗掉第一個1
l = [1,2,3,1]
del l[3:]//del是python的一個內置函式,可依切片洗掉,也可以洗掉多個元素
print(l)//[1,2,3]
l.pop()//回傳最后一個元素的值3,有點像堆疊頂出堆疊
print(l)//[1,2]
排序
l = [2,1,3,4,5,6,7,8,11,12,13,14]
l.sort()
print(l)//[1, 2, 3, 4, 5, 6, 7, 8, 11, 12, 13, 14]
l.reverse()
print(l)//[14, 13, 12, 11, 8, 7, 6, 5, 4, 3, 2, 1]
字典
字典和串列完全不同,它包含的是一對對鍵值,每個鍵都是唯一的,通過鍵來而非串列那樣通過位置索引,異構無序,
Dic = {'color':'red',
'num':1,
'list':[1,3,4],
'gender':{'男':1,'女':2}
}
讀取
print(Dic['color'])//red
插入
Dic['alibaba'] = 1
Dic['num'] = 2
print(Dic)
//{'color':'red',
//'num':2,
//'list':[1,3,4],
// 'gender':{'男':1,'女':2},
//'alibaba':1
// }
用串列生成字典
a = ['one','two','three']
b = [1,2,3]
Dic = dict(zip(a,b))
print(Dic)//{'one': 1, 'two': 2, 'three': 3}
用鍵值對元組組成字典
Dic = dict([('a',1),('b',2)])
print(Dic)//{'a':1, 'b': 2}
獲取鍵值
Dic = {'a':1,'b':2}
print(list(Dic.keys()))//['a', 'b']
print(list(Dic.values()))//[1,2]
print(list(Dic.items()))//[('a', 1), ('b', 2)]
//list是串列方法,注意不要定義list = []形式的串列,否則會報錯TypeError: 'list' object is not callable
洗掉鍵
Dic = {'a':1,'b':2}
del D['a']
print(Dic)//{'b': 2}
Dic = {'a':1,'b':2}
print(Dic.pop('a'))//1
print(Dic)//{'b':2}
排序
字典的排序實際是上對鍵的排序
Dic = {'color':'red',
'num':1,
'list':[1,3,4],
'gender':{'男':1,'女':2}
}
sorted(Dic)//'color', 'gender', 'list', 'num']
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/198900.html
標籤:其他
