美文网首页
day7 - 容器总结

day7 - 容器总结

作者: 未醒的梦_19b0 | 来源:发表于2018-11-14 11:50 被阅读0次

1.列表

列表(list) - 有序、可变的
要求:任何类型的数据都可以作为列表元素
获取单个元素、获取部分元素(切片)、遍历
相关运算:+ ,* ,== , != , in , not in , len() , list(序列) , max() , min()
== - 判断两个数据的值是否相等
is - 判断地址是否相等

2.python数据存储:

2.1.给变量赋值的时候,如果数据的类型是数字或者字符串,不会直接开辟空间存数据,而是现在数字字符串对应的缓存区里面去查看是否已经存储过对应的数据,如果已经存在了,直接将之前的数据对应的地址赋给变量,如果没有存储才会开辟空间存储数据,其他类型的数据,都是直接开辟空间存储数据,然后再把地址返回
2.2.容器类型中的元素,在容器中不是直接存的值,而是元素对应的地址

3列表的相关方法

3.1.列表赋值
a.直接使用一个列表变量给另一个列表变量赋值,赋的是地址,赋完值之后,对其中一个列表进行增删改,会影响另一个列表
b.如果赋值的时候赋的是列表的切片或者拷贝,会产生新的地址,然后使用新的地址赋值,赋完值后,两个列表相互之间不影响
3.2.列表方法
list.append
list.count(元素) - 获取指定元素在列表中出现的次数
list.extend(序列) - 将序列中所有的元素都添加到列表中
1ist.index(元素) - 获取指定元素在列表中的第一个下标,如果这个元素不存在会报错(ValueErrot)
list.reverse() - 反向列表(将列表元素倒序)
list.sort() - 对列表进行升序排序(从小到大排序)
list.sort(reverse = True) - 对列表进行降序排序(从大到小排序)
注意:a.列表的元素类型必须一致,b.元素支持比较元素符
list.clear() - 清空列表(推荐使用)
list.copy() - 将列表中的元素复制出来产生一个新的列表。和列表[:]效果一样
注意:这儿的拷贝是浅拷贝

4 浅拷贝和深拷贝(了解)

copy.copy(对象) - 浅拷贝:直接拷贝元素的值,产生一个新的地址
copy.deepcopy(对象) - 深拷贝:不会直接复制地址,而是将地址对应的值拷贝一份产生新的地址

5 元组

5.1.什么是元组(tuple)
元组就是不可变的列表 - 特点:有序、不可变
有序 - 可以通过下标获取元素
不可变 - 不支持增、删、改
5.2.元组的字面量 : 通过小括号将多个元素括起来,多个元素之间用逗号隔开
a.只有一个元素的元组 tuple2 = (10,)在元素的后面必须加一个逗号
b.tuple3 = 1,True,'adas',[1,2],1 直接将多个数据用逗号隔开,不用括号括起来,还是一个元组值
c.获取元组元素的时候,可以通过变量个数和元组元素个数保持一致来获取元组中的每个元素
d.name,scores = tuple('汉子',1,5,[1,2],1) 通过在变量名前面加,获取没有的变量获取到的元素的剩下的部分,以列表的形式返回
e.
号的作用:将序列中的元素取出来(list,tuple)
5.3.获取元组的元素和列表获取列表元素一模一样
5.4.运算也和列表一样:+ , * , in/not in , len() ,tuple() , max() , min()
5.5.元组相关的方法:只有列表中的count和index

6 认识字典

6.1.什么是字典(dict):字典是python中内置的容器类的数据类型,可变、无序的,字典的元素是键值对
6.2.字典的字面量:使用大括号括起来,大括号里面的是键值对,多个键值对用逗号隔开
键值对 - 键:值
键(key) - a.不可变的 b.唯一的(一般使用字符串作为key)
值(vaule) - 任何类型的数据
6.3.什么时候用字典:
如果一个容器里面存储的数据是不同意义的数据(数据之间需要区分),就使用字典

7 字典的增、删、改、查

7.1.查(获取字典的值)
a.获取单个值
字典[key] - 获取字典中key对应的值(注意:如果key不存在,会报错KeyError)
字典.get(key) - 获取字典中key对应的值(注意:如果key不存在,不会报错,结果返回为None)
None是python中的一个关键字,表示一个特殊值(没有,空的意思)
b.遍历
直接遍历字典拿到的是字典中所有的key
7.2.增(添加键值对)
a.添加一个键值对
字典[key] = 值 - 当Key不存在的时候,就是在字典中添加键值对
b.添加一部分
字典1.update(序列) - 将序列中的元素转换成键值对,然后再添加到字典1中
序列:在这儿的序列要求是能够转换成字典的序列,序列里面的元素是只有两个元素的小序列
当key值有重名的时候,会用序列中键值对对应的值,更新原字典的key时对应的值

7.3.改(修改key对应的值)
字典[key] = 值 - 当key存在的时候,就是修改key对应的值
7.4.删(删除键值对)
a.del 字典[key] - 删除字典中key对应的键值对
b.字典.pop(key) - 取出字典中key对应的值,(删除整个键值对)
c.字典.popitem() - 删除最后一个(随机)键值对(取出最后一个键值对,以元组的形式返回)无意义,不用

8 字典中相关的运算和方法

1.字典不支持加和乘
in和not in
key in 字典 - 判断字典中是否存在指定的hey

未完待续,见day7总结

相关文章

  • day7 - 容器总结

    1.列表 列表(list) - 有序、可变的要求:任何类型的数据都可以作为列表元素获取单个元素、获取部分元素(切片...

  • day7 容器类型总结

    1.列表赋值 a.直接使用一个列表变量给另一个变量赋值,赋的是地址。赋完值之后,对其中一个列表进行增删改,会影响另...

  • day7 总结:容器类型

    01.recode 列表(list) - 有序、可变[12, 34, 56] 列表元素的要求:任何类型的数据都可以...

  • day7容器类型

    认识列表 列表(list): 什么是列表是python中的容器类的数据类型,可以用来存储多个数据。可变的,有序的。...

  • STL 源码剖析

    GitHub参考STL"源码"剖析-重点知识总结C++STL自己总结 序列式容器 所谓序列式容器,其中的元素都可序...

  • PAT一些知识点代码块总结

    PAT总结 PAT中常用的STL容器 顺序容器 vector queue priority_queue stack...

  • 友好速搭 Kubernetes 项目 Recap

    Kubernetes 项目总结 2018 年 10 月,决定开始容器化项目,采用 Kubernetes 做容器编排...

  • c++学习记录7(GeekBand)

    这周的课程将容器讲完了。自己来总结下容器的东西。 参考:STL源码分析 (一)vector容器 vector的数据...

  • 挑战day31

    【周末】:休息 【日常】:项目day7 进度太快,没有吸收。明天开始总结一下。 【新习惯】: 泡脚...

  • docker 容器互联

    docker 容器互联 docker 容器互联总结的是在同一台宿主机上,多个 docker 容器文件共享和网络互联...

网友评论

      本文标题:day7 - 容器总结

      本文链接:https://www.haomeiwen.com/subject/llilfqtx.html