您的位置:首页 > 编程语言 > Python开发

python——元组和字典学习笔记

2018-04-08 09:25 423 查看
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

 

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: