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