python学习之路(3)---容器:列表,集合,元组,字典


什么是容器?
序列,存储一些大量的数据,容器是一种数据类型
为什么学习容器?
容器改变变量只能存储单个数据的缺陷
有哪里容器:
列表
集合
元组
字典

列表(list(线性表))

线性表(常见的线性表:链表 数组 栈 队列) --------基础链表实现的------双链表实现的
python没有数组,数组存储空间是连续的
列表是最常用的Python数据类型,它可以作为一个方括号内的逗号分隔值出现。
列表的数据项不需要具有相同的类型
创建一个列表,只要把逗号分隔的不同的数据项使用方括号括起来即可。

定义:
1.弱数据类型语言
ls = [1,2,3,4]
2.全局函数list()
ls = list()
ls = list([1,2,3,4])
访问元素?
通过下标来获取元素 ,超过角标会报错,角标也可以为负数
遍历列表:
for 循环:
ls=[1,2,3,5]
for i in ls:
print(i)
while循环:在这里插入图片描述

len() -----------------返回容器的长度
常用方法:
使用方法:例如 ls1=[1,2,7] ls1.append(8) 中间用英文点
append() -------- 像列表的尾部追加元素
insert (index,object) ---------- 在列表里指定的位置添加元素 index是角标从0开始
sort() ---------- 列表元素进行排序,整形(从小到大的顺序)
index() --------- 查看列表里某一个元素的下标(如果有多个元素,查找的角标是第一个出现的位置),如果列表里没有元素,会报错。
reverse() --------- 将列表元素进行翻转 个人理解翻转就是123 变成321
remove() -------- 通过元素在列表中删除元素,如果元素不存在会报错
count()---------- 统计元素在列表中出现次数
clear() --------清除列表
copy()------- 浅拷贝 不等价于 赋值运算的= copy的之前的数组不会删除

extend()------ 合并列表
在这里插入图片描述
在这里插入图片描述

pop() ------- 从列表的尾部删除元素,并且返回删除掉的元素,pop(i)------删除角标为i处的元素 角标是从0开始,0为第一个元素
练习:
L=[
[1,2,3],
[“python”,“java”,“C++”,“PHP”],
[True,False,“H”]
]

要求:
打印”3“打印”C++“打印”Flase
解 类似二维数组可以用L[0][2]表示列表中第一个元素中的第3个元素。
在这里插入图片描述

内存模型:
什么是内存?
存储数据
如何存储?
栈 : 先进后出 后进先出
队列 :先进先出 后进后出

集合(set)------ 哈希结构

创建集合方法
全局函数
s = set()
s = set({1,2,3,4})
s = {1,2,3,4,5}
注意:
s = {} ------ 表示的字典,也就是说创建集合的时候至少有一个元素
集合是无序,不能重复的
s[0] ---------
常见的一些方法
‘add’, ‘clear’, ‘copy’, ‘difference’, ‘difference_update’, ‘discard’, ‘intersection’,
‘intersection_update’, ‘isdisjoint’, ‘issubset’, ‘issuperset’, ‘pop’, ‘remove’,
‘symmetric_difference’, ‘symmetric_difference_update’, ‘union’, ‘update’]
clear() -------------------- 清除元素
copy()
remove()
add() ---------------- 向集合添加元素,如果添加的元素是重复的,不能够添加
difference() --------- 差集 如s.difference(s1)表示返回s1没有s中什么元素
intersection()--------- 交集
union() -------------------并集 之前的集合不改变
update() -------- 更新集合,合并集合
discard()-------- 移除元素,如果元素不存在,不做任何操作
在这里插入图片描述

清屏操作:
import os
os.system(“cls”)

元组(tuple)

元组是有序的
元组的定义方法:
Python的元组与列表类似,不同之处在于元组的元素不能修改。
元组使用小括号,列表使用方括号。
元组创建很简单,只需要在括号中添加元素,并使用逗号隔开即可。

弱数据类型语言
t = (1,2,3)
全局函数tuple()
t = tuple()
t = tuple((元素1,元素2))
元组的特点:
元组是有序,---------通过下标来获取元素 下标可以是负数 但是不可以通过下标更改元素

在这里插入图片描述

元组是一个不可变的类型(虽然元组不可变,但是元组内的元素是可变的)
在这里插入图片描述

常见方法:
count()
index ()
面试题:
a = (1) ,a的类型是什么?
在这里插入图片描述

字典(dict)

字典dict dictionary map
以键值对存在 Key value
定义:
弱数据类型语言:
d = {“name”:“zhangsan”,“age”:“18”}
全局函数dict()
dd = dict()
dd = dict({“name”:“zhangsan”,“age”:“18”})
访问元素
通过key获取对应value ------ d[“key”],如果没有Key 会抛出异常
字典[key] = 新值
字典[新key] = 新值
在这里插入图片描述

常用的方法:
‘clear’, ‘copy’, ‘fromkeys’, ‘get’, ‘items’, ‘keys’, ‘pop’, ‘popitem’, ‘setdefault’, ‘update’, ‘values’]
clear()
copy()
get() -------- 通过key获取value ,如果没有Key,返回的是none
keys() ------------ 返回字典里所有的Key值
values () ------------------ 返回的所有的值
setdefault ----------- 设置的默认值
items() -------- 返回所有的键值对
pop(key) ------------- 通过key来移除键值对,返回的是key所对应的value,删除字典里没有的key
会抛出异常
popitem() ---------- 移除键值对,遵循LIFO,返回值删除的键值对
字典的遍历
在这里插入图片描述

在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值