day 07
01.元祖内置方法
-
作用;被写死的列表
-
定义方式;tuple (x,x,x,x,x) # 一经定义就不可更改
如果元祖只有一个元素,要加逗号,#元祖一定要有逗号 #占用内存小
-
使用方法;
tup=(1,2,3,4)
-
索引取值
tup[0]
-
索引切片
tup[0:2]
-
for循环
for i in tup:
-
成员运算
2 in tup
-
len长度
len(tup)
-
index获取元素索引
tup.index(2)
-
count 计数
tup.count(2)
-
-
有序or无序;
有序
-
可变不可变;
不可更改
02.字典内置方法
-
作用;储存多个值,对每个值都有描述
-
定义方式;dict {'a':'b','c':'d'}
-
使用方法;
dic={'a':1,'b':2,'c':3}
-
优先掌握
-
按key取值/修改值
dic['a'] # 按key取值 dic['a'] = 0 # 按key修改值
-
添加值
dic['d'] = 9 # 定义没有的键值对
-
for循环
for i in dic: # 只循环key
-
成员运算
'a' in dic
-
len长度
len(dic)
-
keys/values/items
print(dic.keys()) # 获取所有key为列表 print(dic.values()) # 获取所有值为列表 print(dic.items()) # 获取所有键值对为列表
-
-
需要掌握
-
get ;获取
s = 'e' dic.get('b',1) # 1为默认值,当字典中没有'b'时返回1,否则默认返回None
-
update ;更新,等同于list里的extend
dic1 = {'a': 1, 'c': 2} dic2 = {'b': 1, 'd': 2} dic1.update(dic2) # 将dic2合并到dic1中
-
fromkeys
print(dict.fromkeys(dict.fromkeys([1, 2, 3, 4]))) # 默认给None
-
setdefault # 字典有这这个key,就不修改,没有则增加
-
dic.setdefault('j', 2) dic.setdefault('a', 2)
-
-
-
有序or无序
无序
-
可变or不可变
可变
03.集合
-
什么是集合
交集/并集/补集/差集
-
作用
- 进行上述运算
- 去重
- 乱序--》基于散列表实现(数字不会乱序)
-
定义方式;{}号内用逗号隔开(不能为可变数据类型)
s=set() # 空集合
-
使用方法
pythoners = {'jason', 'nick', 'tank', 'sean'} linuxers = {'nick', 'egon', 'kevin'} # 并集 print(pythoners | linuxers) # 交集 print(pythoners & linuxers) # 差集 print(pythoners - linuxers) # 补集 print(pythoners ^ linuxers) # add(*******) pythoners.add('oscar') print(pythoners) pythoners.remove('oscar1') # 没有报错 print(pythoners) pythoners.discard('oscar1') # 没有不报错 print(pythoners) pythoners.pop() # 随机删除一个 print(pythoners)
-
有序or无序
无序
-
可变or不可变
可变
04.拷贝
使用时先
import copy #导入模块
lt2 = copy.copy(lt1) # lt2叫做lt1的浅拷贝对象
lt2 = copy.deepcopy(lt1) # lt2叫做lt1的深拷贝对象
列表 索引 id id套id
字典 key id id套id
拷贝 拷贝id
浅拷贝 拷贝id里的id
深拷贝 拷贝最深层id