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

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
相關文章
相關標籤/搜索