元组&字典

1、元组
(1)特性:不可变(不能修改、添加、删除),可以做切片
元组本身不可变,如果元组中还包含其他可变元素,这些可变元素可以改变(元组里套用列表,列表中的值可变)
(2)功能:
index
count
切片
(3)使用场景:
显示的告知别人,此处数据不可修改(明确告诉别人不可修改)
数据库连接配置信息等

2、哈希

通过hash的方法就会产生一段唯一的值,但唯一是在一定数据里之内,数据太多了有可能产生不唯一的值(只要用哈希就要解决一个冲突叫哈希冲突)
(1)特征:hash值的计算过程是依据这个值的一些特征计算的,这就要求被hash的值必须固定,因此被hash的值必须是不可变的(可变的类型是不可以被哈希的);
(2)用途:
文件签名
md5加密(md5无法反解)
密码验证
(3)语法:hash('alex')

3、字典(可以套列表)
(1)是一种key - value的数据类型,使用就像我们上学用的字典,通过笔划、字母来查对应页的详细内容
语法:info = {
      'stu1101':"TengLan Wu",
      'stu1102':"XiaoZe",
      'stu1103':"LongZe ",
      }
    注意:key不能重复

info = {
  '龙婷’:[24,'design','UI',13535555555]
  '姗姗':[25,'PR,'wild model',15532555555]
  }

info['龙婷’] #通过输入key值,查找字典内的信息
info['龙婷’][1] = "设计部" #修改字典内数据

(2)特性:
  key-value结构
  key必须可hash、且必须为不可变数据类型、必须唯一
  可存放任意多个值、可修改、可以不唯一
  无序
  查找速度快

(3)用法:
info = {
  'stu1101':"TengLan Wu",
  'stu1102':"XiaoZe",
  'stu1103':"LongZe ",
  }
增加: info["stu1104"] = "Lucy"
修改:info["stu1101"] = "武滕兰"
查找:"stu1102" in info #标准用法 ,返回True
获取:info.get("stu1102")#如果有,返回值,如果没有返回空None
   info['shanshan']#如果有,返回值,如果没有报错,一般不用这个
删除:info.pop()
  (1)info.pop('shanshan') #删除后返回删除值的信息
  (2)info.popitem()#随机删除,没有顺序
  (3)del info["stu1102"]


4、多级字典嵌套
info = {'alex':[24,'IT'],'rain':[24,'HR'],'jack':22}

info.keys()#打印所有的key值
结果:dict_keys(['alex','rain','jack'])
info.values()#打印所有的value值
结果:dict_values([24,'IT'],[24,'HR'],22)
info.items()#把字典转换成列表(把key和value变成了一个小元组)
结果:dict_items([('alex',[24,'IT'),('rain',[24,'HR'],('jack',22)])

info.update #把两个字典合并成一个
info.update(dic2)#没有对应的值合并,有对应的覆盖
info.setdefault()#如果原来有对应的值,取出,如果没有就创建后返回

info.fromkeys(['A','B','C'],'alex')#生成字典并批量赋值
结果:{'A':'alex','B':'alex','C':'alex'}

字典的循环
方法一:
for k in info:
print(k)#打印的是key
print(k,info[k])#打印的是key和value,最常用的循环方法

方法二:(基本不用此方法)
for k,v in info.items(): #先把dict转成list,数据里大时莫用
print(k,v)

猜你喜欢

转载自www.cnblogs.com/MrHB/p/9063415.html
今日推荐