容器(collection):是一种数据类型,可以存储多个变量,是一种对象,存储在堆中。
|-- list 列表 底层是基于双向链表实现的,类似于java中的数组,具有下标 [1,2,3]
|-- set 集合 无序,不重复 hash {1,2,3}
|-- tuple 元组 不可变(个数,值已固定),有序的 (1,2,3)
|-- dict 字典 基于key : value 对应 {“你好”:123,“大家好”:1234}
列表
|-- element 容器的存储的值
列表中元素如何访问或者修改
可以利用下标来访问元素或者修改元素
ls[小标] 小标从0
ls[2] # 访问下标为2的也就是第三个值
ls[3] = 200 # 将第四个值修改为200
|-- 获取list中元素的个数
len的全局函数
len(ls) # 获取元素的个数
列表的遍历
for循环
while循环,需要一个索引,从0开始
列表的常见方法:
['append', 'clear', 'copy', 'count', 'extend', 'index', 'insert',
'pop', 'remove', 'reverse', 'sort']
|-- append(元素) # 将元素追加到list的末尾位置
|-- clear() # 清空列表
|-- copy() # 复制对象(浅拷贝对象)
|-- count() # 统计元素在列表中出现的次数
|-- extend() # 将一个列表合并到另外一个列表中
|-- index() # 查找元素在列表中的第一个索引位置,如果不存在,则抛出异常
|-- insert(index, item) # 插入元素,第一个参数是位置
|-- pop([index]) # 根据索引移除元素,如果没有索引,默认移除最后一个
|-- remove(元素) # 根据值移除元素,移除一个
|-- reverse # 翻转元素的顺序
|-- sort # 排序,只能同类型比较 如果值字符串,是按照A
集合
集合
Set:无序的、不能重复的 hash算法
定义集合
s = {必须有元素}
s = set() # 全局函数
注意:set无序,所以没有下标
常见方法:
add', 'clear', 'copy', 'difference', 'difference_update', 'discard',
'intersection', 'intersection_update', 'isdisjoint', 'issubset', 'issuperset',
'pop', 'remove', 'symmetric_difference', 'symmetric_difference_update', 'union',
'update']
|-- add # 添加元素
|-- clear
|-- copy
|-- pop # 随机移除元素
|-- remove #
|-- discard # 尝试着移除元素
|-- intersection 交集 s1.intersection(s2)俩集合取交集
|-- difference 差集
|-- union 并集
元组
元组
()包裹的,特点是固定,不能发生变化的,是不可变类型,有序的
定义 t = (1,3,4,45,5)
tt = tuple((1,3,4,45,5))
通过下标访问元素
|-- count()
|-- index()
注意:元组是不可变类型,也就意味着一点元组创建,元素的个数、值都将固定,不能修改、删除等操作
如果子元素是可变类型,那就可以改变着个子元素。
字典
字典:
字典是一种键值对形式存储的数据结构
键是唯一的,在python中键只能字符串类型
定义:
d = {"name": "刘帅哥", "age": 16, "address": "xian" }
dict({"name": "刘帅哥", "age": 16, "address": "xian" })
访问值,通过key来访问value
d["name"]
常见方法:
'clear', 'copy', 'fromkeys', 'get', 'items', 'keys', 'pop',
'popitem', 'setdefault', 'update', 'values']
|-- clear
|-- copy
|-- get
|-- keys()
|-- values()
|-- items()
|-- pop(key) # 通过key,移除对应的键值对
|-- popitem # LIFO的顺序
|-- update d1.update(d),将d中的内容加入到d1中
以上操作都可以在python交互界面实现。可以尝试练习以下题目进行巩固:
0.将列表ls = [1,2,3,4,5,5,5,5,6,4,56,6,67]去重,至少使用两种方式实现。
1.两个列表进行合并操作
2.使用列表判断一个列表是否在另外一个列表中
3.列表的反转
4.列表的排序
5.实现对列表的增删改查功能
6.如何将0-10随机存入列表中
7.求出元组(90,34,-23,18,12)中的最大值和最小值
8. 针对列表[90,34,-23,18,12]从小到大进行排序,
然后输出排序后结果
以上练习可参考:参考答案