day 007总结

元组的内置方法

什么是元组(了解)

只可取,不可更改的列表

作用

元组一创建就被写死了

定义方式

()内用逗号隔开隔开多个元素(可以为任意数据类型)

如果元组只有一个元素,必须得加逗号

tup=(1,2,3)
tup=(3,)

使用方法

1.索引取值

print(tup[0])

2.索引切片

print(tup[0:3])

3.for循环

for i in tup:
    print(i)

4.成员运算

print(0 in tup)

5.len长度

print(len(tup))

6.index获取元素索引

print(tup,index(1))

7.count计数

print(tup,count(2))

有序or无序

有序

可变or不可变

压根不存在这一说法

字典内置方法

作用

存储多个数据,对每个数据具有描述

定义方式

{}内用逗号隔开多个键key(具有描述意义,不能为可变数据类型):值value(任意数据类型)对

dic={'name':1}
dic={0:'功能1',1:'功能2'}

使用方法

优先掌握

1.按key取值/按key修改值

dic={'a':1,'b':2,'c':3}
print(dic['a'])
dic['b']=4

2.添加值,没有就添加,有就修改

dic['d']=4
print(dic)

3.for循环

for i in dic:
    print(i)

4.成员运算

print('a' in dic)

5.len长度

print(len(dic))

6.keys/values/items

print(dic.key())#看成列表
print(dic.values())#获取所有值
print(dic.items())
for i in dic.items():
    print(i)
for k,v in dic.items():
    print(k,v)

需要掌握

get:获取

dic={'a':1,'b':2,'c':3}
print(dic[s])# 报错
print(dic.get('b'))# 没有就返回None
print(dic.get('b',1))# 没有就返回None,可以给定一个默认值

update:更新,等同于list里的extend

dic1={'a'=1,'c'=2}
dic2={'b'=1,'d'=2}
dic1.update(dic2)

fomkeys

print(dict.fromkeys([1,2,3,4]))#{1: None, 2: None, 3: None, 4: None}

setdefault :字典有这个key,就不修改,没有则增加

dic.setdefault('j',2)
dic.setdefault('a',2)

有序or无序

无序

可变or不可变

可变

散列表(哈希表)

1.首先对key做了哈希处理(能对所有数据类型都可以哈希处理):梅森旋转算法(生成伪随机数)--》通过哈希处理对于每个key他都可以生成一个序列(永不重复,相同的东西进入哈希处理,结果相同)

2.使用哈希函数对刚刚生成的序列(纯数字),对纯数字除9取余(0,1,2,3,4,5,6,7,8)

集合内置方法

什么是集合:交集/并集/补集/差集

作用

1.进行上述运算

2.去重

3.乱序--》基于散列表实现的

定义方式

{}内以逗号隔开多个元素(不可变元素)

s={}#空字典
s=()#空集合

使用方法

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('oscarl')#没有报错
print(pythoners)
pythoners.discard('oscal')#没有不报错
print(pythoners)

有序or无序

无序

可变or不可变

可变

数据类型总结

存值个数

存一个值:整型/浮点型/字符串

存多个值:列表/元组/字典/集合

有序or无序

有序:字符串/列表/元组

无序:字典/集合

可变or不可变

可变:列表/字典/集合

不可变:整型/浮点型/字符串/元组

深浅拷贝

拷贝

当lt2为lt1的拷贝对象时,无论lt1内部为可变类型还是不可变类型,lt1内部元素变化,lt2也变化

浅拷贝

当lt2为lt1的拷贝对象时,lt1内部的不可变元素变化,lt2不变。lt1内部的可变元素变化时,lt2也随之变化

深拷贝

当lt2为lt1的拷贝对象时,无论lt1内部的可变元素或不可变元素怎么变化,lt2都不会变化。

原文地址:https://www.cnblogs.com/zqfzqf/p/11529079.html