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
来源: http://www.bubuko.com/infodetail-2554090.html