一.列表的使用
a = ['龍','虎','蛇','豬']
print('修改前:',a)
?a[ 3: 3:] = '兔'
? ? ? ? -->? append:像列表的最后一位添加元素
a.append('狗')
? ? ? ?-->?insert()在指定位置添加元素
a.insert(3,'貓')
? ? ?-->?extend類似于append但是后者只能添加一個元素,
????????????????????????extend是將一個序列添加到當前序列中
a.extend(['鼠','狼'])
a.extend('ab')
? ? ?-->?clear:清空序列
代碼:a.clear()
? ? ?-->?pop()根據(jù)索引來刪除,可以返回被刪除的元素
代碼:a.pop(3)
res = a.pop(3)
print(res)
? ? ?-->?remove:刪除指定值的元素
a.remove('虎')
? ? ?-->?reserve()翻轉(zhuǎn)列表
a.reverse()
? ? ?-->?st = list('avieuweivnw')
print('修改前:',st)
? ? ?-->?st.sort(reverse=True)sort:排序reverse=True:升序/Fasle:降序
print('修改后:',st)
二.列表的遍歷
遍歷列表:指的就是把列表中的元素取出來
s = ['美隊','鋼鐵','蜘蛛','幻視']
print(s[0])
print(s[1])
print(s[2])
print(s[3])
????????????i = 0
????????????????或者:i < len(s)
????????????????????????while i < 4:
? ????????????????????????? ?print(s[i])
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? i? += 1
????????-->?用for循環(huán)來遍歷列表
語法: for 變量 in 序列(遍歷的規(guī)則):
? ? ? ? 代碼塊
for a in s:
? ? print(a)
????-->?range:生產(chǎn)一個自然是的序列
a = range(0,6)
print(a)# range(0, 6)
?print(list(a))[0, 1, 2, 3, 4, 5]
三.元組的使用
元組:一個不可變的序列
????一般情況下數(shù)據(jù)不改變用元組,否則用列表
tuple = (1,2,3,4,5)
print(tuple,type(tuple))
如果元組不是空的,它里面一定有一個逗號
tuple = 1,2,3,4
a,b,c,d = tuple
print('a=',a)
print('b=',b)
print('c=',c)
print('d=',d)
tuple = 1,2,3,4
a,b,*c = tuple
print('a=',a)
print('b=',b)
print('c=',c)
運行結(jié)果:
a= 1
b= 2
c= [3, 4]
四.字典的使用
????字典:列表和字典都是用來存儲數(shù)據(jù)的,列表的存儲性能較好,字典的查詢性能好
d = {'name':'黑貓警長','age':'6','sex':'男','name':'白鴿'}
如果關(guān)鍵字重復,后面的會替代前面的
print(d, type(d))
d = {'name':'黑貓警長','age':'6','sex':'男'}
print(d['name'],d['age'],d['sex'])
運行結(jié)果:
黑貓警長 6 男
通過dict函數(shù)創(chuàng)建字典
d = dict(name = '黑貓警長',age = '7',sex = '男')
print(d, type(d))
雙值子序列:序列當中含有兩個值[4,5] (1,2)? 'ab'
子序列:如果一個序列的子元素也是序列,稱之為子序列
? ? ?--> len():檢查字典中k-v的個數(shù)
? ? ?--> in? not in 檢測字典中有沒有這個key
d = {'name':'黑貓警長','age':'6','sex':'男','name':'白鴿'}
n = 'name'
print(d[n])????白鴿
get()也可以獲得字典中的一個值
print(d.get('name'))白鴿
-->修改
d['name'] = '蒼老師'
print(d){'name': '蒼老師', 'age': '6', 'sex': '男'}??
-->添加
d['r'] = 'ad'
print(d) {'name': '白鴿', 'age': '6', 'sex': '男', 'r': 'ad'}??
-->update:
d = {'a':1,'b':2,'c':3}
d1 = {'d':4,'e':5,'f':6}
d.update(d1)
print(d)
print(d1)
{'a': 1, 'b': 2, 'c': 3, 'd': 4, 'e': 5, 'f': 6}
{'d': 4, 'e': 5, 'f': 6}?
如果有重復的key,后面的會覆蓋前面的
-->del :刪除
d = {'a':1,'b':2,'c':3}
del d['b']
print(d)
{'a': 1, 'c': 3}
?-->popitem()??
定義: 隨機刪除字典中的一個K-V一般是最后一個,刪除之后會將刪除的元素以元組形式返回
d = {'a':1,'b':2,'c':3}
d.popitem()
r = d.popitem()
print(r)
print(d)
('b', 2)
?{'a': 1}
pop()刪除一個指定的值(k-v)
d = {'a':1,'b':2,'c':3}
r = d.pop('a')
print(r)
?print(d)
# 1
# {'b': 2, 'c': 3}
r = d.pop('s')
print(r,'這個key沒有')??
print(d)???? KeyError: 's'
d.clear()
print(d)
# {}
五.淺復制
copy()該方法用于對字典進行淺復制
d = {'a':1,'b':2,'c':3}
d1 = d
d['b'] = 4
print('d=',d)
print('d1=',d1)
結(jié)果:d= {'a': 1, 'b': 4, 'c': 3}
d1= {'a': 1, 'b': 4, 'c': 3}
結(jié)論:不是復制??
d = {'a':1,'b':2,'c':3}
d1 = d.copy()
d['b'] = 4
print('d=',d,id(d))
print('d1=',d1,id(d1))
#d= {'a': 1, 'b': 4, 'c': 3} 2060021562896
#d1= {'a': 1, 'b': 2, 'c': 3} 2060021562968/復制,兩者以經(jīng)沒有關(guān)系了
#淺復制只會復制字典表面的一層,如果字典里面還有序列的話,里面的內(nèi)容不會被復制
d = {'a':{'name':'黑貓'},'b':2,'c':3}
d1 = d.copy()
d['a']['name'] ='白鴿'
print('d=',d,id(d))
print('d1=',d1,id(d1))
運行結(jié)果:
# d= {'a': {'name': '白鴿'}, 'b': 2, 'c': 3} 1484093029976
# d1= {'a': {'name': '白鴿'}, 'b': 2, 'c': 3} 1484093030336
六.作業(yè)1

作業(yè)二:?