python字典和集合对象可以进行索引_python基础五字典和集合

一、昨日内容回顾

list:

增:append insert(index,object) extend()跌带着追加

删:pop()按照索引去删除,索引值不填默认从后面删,有返回值

remove()按照元素删除

clear()清空列表

del list 从内存中删除列表

del list[index]

dle list[0:3]

del list[0:3:2]

改:

按索引改单个元素

按切片迭代改多个元素

按切片加步长

查:

索引,切片,切片+步长,for循环

其他方法:

len()

.index()

.count()

.reverse()

.sort()

.sort(reverse=True)

list的嵌套:

元组:

()里面放任意数据类型,不可以增删改,可以查:索引,切片,切片加步长,for循环。

range():

当做是一个可控范围的数字列表,多与for循环结合

二、作业讲解

数据类型的分类

容器类数据类型

list,tuple,dict,set

非容器型数据类型

str,bool,int

可变(不可hash)的数据类型

list,dict,set

不可变(可hash)的数据类型

str,bool,int,tuple

容器类数据类型

list,tuple,dict,set

非容器型数据类型

str,bool,int

可变(不可hash)的数据类型

list,dict,set

不可变(可hash)的数据类型

str,bool,int,tuple

三、字典

why:

1列表如果存储大量的数据,查询速度相对慢一些

2列表存储的数据一般没有什么关联性

针对以上因素,python提供了一个基础数据类型:dict字典

what:

dic{'name':'alex'}以键值对形式存储的数据类型

1字典的键必须是不可变(可hash)的数据类型,唯一的不重复,值可以是任意数据类型或对象

2 字典的查询速度非常快

3字典在3.5版本之前是无序的,但是在3.6版本做了优化-字典会按照创建时的顺序排列

4字典可以存储大量的关联性数据

how:

dic['weight'] = 150(有则覆盖,无则添加)

dic.setdefault('high',175)(有则不变,无则添加)

dic.update(weight=150,high=175)(有则覆盖,无则添加)

.pop('键','返回值')通过键删除键值对,如果键不存在会返回指定的返回值,如未指定会报错,返回值为被删除的值

.clear()清空

.popitem()3.5版本是随机删除键值对,3.6之后因为字典有序了所以删除最后一个。返回值是一个元组形式的(key,value),如果列表是空会报错

del dic['name']键值不存在会报错

dic['weight'] = 150(有则覆盖,无则添加)

dic2.update(dic1)用dic1更新dic2(有则覆盖,无则添加),对dic1无影响。

按照键查对应的值:

dic['key']返回对应的值,key不存在时会报错

dic.get('key','返回值')返回对应的值,key不存在返回指定返回值,默认返回none不会报错

for循环打印获取的是key值

dic.keys()返回一个类似于列表的容器的数据类型包含key值

dic.values()按照键查对应的值:

dic['key']返回对应的值,key不存在时会报错

for循环打印获取的是key值

dic.keys()返回一个类似于列表的容器的数据类型包含key

dic.values()返回一个类似于列表的容器的数据类型包含values

dic.items()返回一个类似于列表的容器的数据类型包含item(键值对是元组形式)

for k,v in dic.items():

print(k,v)#通过分别赋值遍历打印

其他操作及填坑

where:

为了存储大量关联性数据,方便快速查询时使用。

四、字典的嵌套

五、集合

六、知识点拾遗

格式化输出:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值