python3基礎(四)-列表元組字典
阿新 • • 發佈:2018-11-12
1、可變列表list,使用中括號[]表示
name=[1,2,3] strlist=['a','b','c'] str=range(1,10) #左閉右開,包含左邊不包含右邊。這個函式是取1-10之間的數為一個數組。 1)、增加: 增加一個元素:name.append("a") #在列表後面追加一個元素 name.extend(strlist) #將一個列表strlist內的元素依次追加到另外一個列表name之後 name.insert(1,“a”) #在1號位插入字元'a',1號位原來的資料依次往後面移 2)、修改: names[2]="mm" #根據下標位,修改一個元素 names.reverse() #將列表倒置,是直接修改列表 names.sort()排序,但是必須要確認陣列當中的元素是同個型別的。這個是升序 如果要降序則在sort裡面加個引數reverse=True,則names.sort(reverse=True) 3)、查詢: name[0] #通過下標位,可以獲取列表當中的元素 in not in #查詢一個元素在\不在一個數組當中 "mm" in names #返回True "mm" not in names #返回False names.index("mm") #index返回一個元素的下標位 names.count("mm") #count統計一個元素在陣列中出現幾次 4)、刪除: del names #刪除定義的變數 del names[1] #刪除陣列當中的某個元素 deletedname=names.pop() #不能接引數,這個是刪除列表的最後一個元素,並且返回這個元素 names.remove("mm") #刪除一個具體的內容"mm",是內容而不是索引
2、不可變元組tuple,使用小括號()表示
跟列表是一樣的,不同的是元組內的元素不能修改,而且元組是用小括號表示的。元組申明好了後長度就固定了,元組和列表裡面的元素型別是可以不同的。
rang(1,10)是輸出一個1-9的列表,在python2當中c=rang(1,10)會直接把結果列表賦值給c,而在python3中卻變成懶載入了,也就是隻有當真正執行的時候才會賦值給c
rang函式一定是從小到大的數字序列。
3、字典set:使用大括號{}表示
鍵-值 stus={"name":"zs","age":33,"sex":"女"} stus['name']或者stus.get("name") #通過鍵來訪問和修改值,這兩個方法的區別是,第二個方法訪問的鍵不存在的時候,是不會報錯的。 stus['addr']='beijing' #如果addr鍵不存在則新增,存在則修改值。 "name" in stus #判斷鍵是否在字典裡面,name是key,而不是value,返回值為True或False stus["name"] #如果返回有結果則代表有。name是key,而不是value,如果有,則返回對應的值,沒有則會報錯。 del stus #整個字典會刪了 del stus["sex"] #只刪除一個內容
4、小知識
names=["a","b","c","d"] enumerate(names, 2) 列舉,將陣列當中的元素枚舉出來形成一個一個的元組,元組當中的索引則根據第二個引數來決定。 第一個引數是陣列names,第二個引數是索引,如果不加,則代表索引從0開始輸出,如果設定為2,則從陣列中取出元數形成的元組索引則從2開始。 for i in enumerate(names):#for迴圈只有一個引數i print(i) #以上代表則依次輸出元組,(0,'a')(1,'b')(2,'c')(3,'d') for i, item in enumerate(names,1):#for迴圈有兩個引數i和item print(“i的值為%d,item的值為%s”%(i, item)) #以上兩個引數,代表第一個引數為索引,第二個引數為值,所以enumerate可以同時讀取出字典的索引和值 結果如下: i的值為1,item的值為a i的值為2,item的值為b i的值為3,item的值為c i的值為4,item的值為d 可變型別:list,字典, 不可變型別:數值、字串,元組 list: names=[] name[0]=值 tuple: names=() dict: names={} name[key]=值
作者:滄水巫雲
部落格:http://blog.csdn.NET/amir_zt/
以上原創,轉載請註明出處,謝謝。
https://blog.csdn.net/amir_zt/article/details/82875890