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
相关文章
相关标签/搜索