列表 元組 字典
資料型別:列表,元組和字典。
list類 列表
#1 list類的格式:li=[1,45,'adf',['safe',1,True],(11,'asdf',),{'name':'fdf','age':432,}]
#2 列表中可以放置任何型別;
中括號括起來
, 分割每個元素
列表中的元素可以是數字、字串、布林值、列表、元組、字典。。。。所有的都能放進去
#3 索引取值 print(li[3])
#4 切片取值,切片結果也是列表 print(li[3:-1])
#5 for迴圈 for item in li:
while迴圈 print(item)
#6 列表元素可以被修改
索引修改元素 li[1]=120 li[1]=[12,34,56]
切片修改 li[1:3]=[49,34]
#7 刪除元素 del li[1] del li[1:3]
#8 in 操作 v = 1 in li print(v)
列表的魔法
def append(self,p_object) 在列表原來元素最後追加 例如:li.append(5) li.append('alex') li.append([1234,2323])
def clear(self) 清除li中的元素
def copy(self) 拷貝,是淺拷貝。深拷貝以後講解
def count(self,value) 計算元素出現的次數
def extend(self,iterable) iterable是集合、可迭代物件的意思。引數是可迭代物件
def index(self,value,start=None,stop=None)根據引數返回索引,找到第一個就返回,不再繼續,最左優先
def insert(self,index,p_object) 指定索引位置插入
def pop(self,index=None) 根據索引刪除一個值,並可獲取刪除的值,預設刪除最後一個
def remove(self,value) 刪除表中指定的的元素,左邊優先
def reverse(self) 將當前列表進行反轉
def sort(self,key=None,reverse=False) 列表排序 reverse=False 是從小到大排序,同時也是預設排序。reverse=True是從大到小排序。老師欠了cmp 和 key 這兩個以後講
元組
元組就是對列表的加工,元素不可被修改,不能被增加或刪除,老師建議:寫元組的時候,推薦最後加入,
tu=(111,'alex',(11,33),[(33,44)],True,33,44,)
可以索引取值,也可以切片取值
可以被for迴圈:是可迭代物件。
for item in tu
print(item)
字串、列表、元組可以相互轉換
a = 'asdfasdf' li = ['asdf',123] tu = (123,123,'asd') v = tuple(s) 字串轉為元組 v = tuple(li) 列表轉為元組
v= list(tu) 元組轉換為列表
元組的元素不可修改:是一級元素不可修改 ;元組中列表的元素可以修改;元組中列表元組的元素也不可修改
元組是有序的
元組的灰魔法
tu.counts(value) 獲取指定元素在元組中出現的次數
tu.index(value) 獲取指定元素的索引
字典 dict類
字典的基本結構 info={'k1':'v1','k2';'v2'} 'key':'value'稱為一個鍵值對 字典的value可以是任何數值型別
info={‘k1’:‘v1’,
'k2':'v2',
'k3':[11,[],(),22,33,{'kk1':'vv1','kk2':'vv2','kk3':(55,66),}] ,
'k4':(11,22,33,44) }
數值、字串、布林值、元組可以作為字典的key 列表、字典不能作為字典的key
字典是無序的,不能切片
如果取值的話,根據自己定義的key來尋找,例如 v=info['k1']
del info['k1'] 字典支援刪除元素
while對字典無效
for item in info:
print(item) for對字典迴圈預設輸出所有的key
for item in info.keys():
print(item)
for item in info.values(): for對字典迴圈預設輸出所有的value
print(item)
for item in info.keys():
print(item,info[item]) 輸出key value
for k,v in info.items():
print(k,v)
元組的灰魔法:
def clear(self) 清空
def copy(self) 拷貝,淺拷貝
def fromkeys(*args,**kwargs) 根據序列建立字典,並指定統一的值。v=dict.fromkeys(['k1',123,'999'],123)
def ger(self,k,d=None) 根據key取值,key不存在時,可以指定返回值,預設返回None
def items(self)
def keys(self)
def pop(self,k,d=None) 移除指定的鍵值對
def popitem(self) 隨機刪除一個鍵值對
def selfdefault(self,k,d=None) 設定值,如果已存在,不設定,獲取當前key對應的值
def update(self,E=None,**F)
dic={'k1':'v1','k2':'v2'} dic.update({'k1':'1111','k3':123})
還支援以下寫法 dic.update(k1=123,k3=345,k5='asdf')
字典中常用的魔法keys() values() items() get() update()