1. 程式人生 > >python——元組和字典學習筆記

python——元組和字典學習筆記

deepcopy 例子 [] items 是個 rev put 次數 style

1.count返回值的次數
list=[2,2,2,3,3,3,3,4,4,4]
a={}
for i in list:
    if list.count(i)>1:
        a[i]=list.count(i)
print(a)

將具體的某個數的在列表中的次數返回
list=[2,2,2,3,3,3,3,4,4,4]
print(list)
print(list.count(2))


2.set 將list中不重復的所有值遍歷出來

list=[2,2,2,3,3,3,3,4,4,4]
print(list)
print(list.count(2))
print(set(list))
blist
=set(list) print(blist) print(type(blist)) for i in blist: print(i) 3.修改list某項值 list=[2,2,2,3,3,3,3,4,4,4] alist.index(2) alist[3]=zxiba print(alist) 4.位置0添加一個主席字符串 a=[maozd,dengxp] a[0]+=主席 print(a) 結果: 在位置0添加並成3顯示出來 a=[maozd 主席,dengxp] a[0]*=3 print(a) 結果: [maozd 主席 maozd 主席 maozd 主席
,dengxp] 5.排序類型 sort排序類型(默認正序) (1)從小到大: list=[1,2,3,8,9,6,7,5,4] list.sort() print(list) 結果: [1, 2, 3, 4, 5, 6, 7, 8, 9] (2)從大到小: list=[1,2,3,8,9,6,7,5,4] list.sort(reverse=True) print(list) 結果: [9, 8, 7, 6, 5, 4, 3, 2, 1] (3)字母排序,會按照順序進行排序 numlist=list(bcjdiejk) numlist.sort() print(numlist) 第五章 元組和字典
1.字符串 列表並不是唯一標識序列值的數據類型,字符串和列表實際上很相似,只要你認為字符串是個danger文本字符列表,所有對於列表的操作對字符串均有效。 for i in axiba: print(i) a=axiba a[:3] 2.元組 tuple() 元組是只讀的,不能增刪改查 元組和列表的區別: list-- spam=list(axiba) print(spam) print(type(spam)) tuple--- spam=tuple(axiba) print(spam) print(type(spam)) 區別: spam=(axiba) str 類型 spam1=(axiba,) tuple 類型 3.函數的傳遞引用 例子: def xblist(liname): liname.append(hello) spam=list(axiba) print(spam) xblist(spam) print(spam) 結果: [a, x, i, b, a] [a, x, i, b, a, hello] 3.字典列表和賦值的區別: 字典和列表在復制的是都是一張相同紙上的東西,所以只有修改一個,另一個也會變, alist=[1,2,3,4,5,6,7] print(alist) blist=alist print(blist) alist[1]=## print(alist) print(blist) 賦值的話是獨立的箱子,雖然等於了,但是a箱子的修改是獨立操作的,所以b箱子是不會改變的。 a=100 b=a print(a) print(b) a+=100 print(a) print(b) 結果: 100 100 200 100 4.copy模塊(函數) 分類: copy()函數 可以賦值列表及字典這種可變類型值 deepcopy()函數 可以復制列表中包含的列表 例:(copy) import copy spam=list(abcde) spam1=copy.copy(spam) spam[1]=## print(spam) print(spam1) import copy spam=list(axiba) spam1=copy.copy(spam) print(spam) print(spam1) print(-----修該之前------) spam[0]=++ print(spam) print(spam1) 結論: 就是copy和賦值的方式有點像,是兩個獨立的箱子。 例二 (deepcopy) 可以拷貝list in list import copy spam=list(axiba) spam1=copy.deepcopy(spam) print(spam) print(spam1) print(spam==spam1) print(spam is spam1) print(-----修該之前------) spam[0]=++ print(spam) print(spam1) alist=[1,2,3,[a,b,c]] print(alist) 一copy 例子: import copy spam=[1,2,3,[a,b,c]] spam1=copy.copy(spam) print(spam) print(spam1) print(spam==spam1) print(spam is spam1) print(-----修該之前------) print(len(spam)) spam[3][0]=++ print(spam) print(spam1) 結論: 和字段列表相像,有共同的一張紙,他們修改的是同一個箱子。 二deepcopy 例子: import copy spam=[1,2,3,[a,b,c]] spam1=copy.deepcopy(spam) print(spam) print(spam1) print(spam==spam1) print(spam is spam1) print(-----修該之前------) print(len(spam)) spam[3][0]=++ spam[1]=@@ print(spam) print(spam1) 結論: 和賦值相像,有自己獨立的箱子。 5.小遊戲: h = [ [.,.,.,.,.,.], [.,0,0,.,.,.], [0,0,0,0,.,.], [0,0,0,0,0,.], [.,0,0,0,0,0], [0,0,0,0,0,.], [0,0,0,0,.,.], [.,0,0,.,.,.], [.,.,.,.,.,.] ] 步驟: 1. for i in range(8): for j in range(6): print(h[i][j],end=‘‘) print() . . . . . . . 0 0 . . . 0 0 0 0 . . 0 0 0 0 0 . . 0 0 0 0 0 0 0 0 0 0 . 0 0 0 0 . . . 0 0 . . . 2. for i in range(6): for j in range(9): print(h[j][i],end= ) print() . . 0 0 . 0 0 . . . 0 0 0 0 0 0 0 . . 0 0 0 0 0 0 0 . . . 0 0 0 0 0 . . . . . 0 0 0 . . . . . . . 0 . . . . for i in range(5,-1,-1): for j in range(9): print(h[j][i],end= ) print() . . . . 0 . . . . . . . 0 0 0 . . . . . 0 0 0 0 0 . . . 0 0 0 0 0 0 0 . . 0 0 0 0 0 0 0 . . . 0 0 . 0 0 . . 6.字典數據類型: 只會有鍵——值對, key1:value1,key2:value2 mystyle={ } 字典取值:dict[] 字典取值的方法: keys() 返回鍵對應的值 values() 返回值對應的鍵 items() 返回鍵值對 a={} print(a) print(type(a)) a={size:xxl,color:red} print(a) a[size] a[color] b=a a is b print(a) print(b) 7.猜生日小遊戲 import os,sys b={zhangsan:908800,list:1010101} while True: print(please type the key:) name=input() if name == exit: sys.exit() if name in b: print(b[name]) continue else: print(字典裏沒有這個數據-) b[name]=input(請添加他的的生日信息:) continue

python——元組和字典學習筆記