1.python官方内置的容器
list:
set:
tuple:
dict:
弱数据类语言通通没有数组,因为数组指的是 类型固定、大小固定、连续的内存空间。
2.链表:
非连续内存空间 python用的是双向链表
单向链表:优点:不浪费内存,缺点:查询速度慢,单向查询
双向链表:优点:查询速度快,双向查询,缺点:浪费内存
- ---上课截图
3.容器:
线性表:顺序表
array数组:连续内存空间
链表:可以是非内存存储空间,常见的有单项列表,双向列表
stack栈:先进后出,后进先出
queue队列:先进先出,后进后出
4.列表 ---list
底层使用一个双向链表结构
4.1定义列表:
ls = [ ]
ls = [1,2 ,3,4,"张三","lisi" ]
list 全局函数
list(可迭代对象)
4.2元素(element):
指的是容器中每一个元素的值
4.3如何访问问和设置元素:
使用下标访问和设置
ls[2]
ls[3] = 新值
4.4len()全局函数,
可以获取迭代对象的元素个数
4.5遍历列表:
while 循环,通过下标以此来遍历
for 迭代遍历
5.列表中常见的方法
'append', 'clear', 'copy', 'count', 'extend', 'index'(索引), 'insert', 'pop', 'remove', 'reverse', 'sort'
1.append(新元素) #在尾部追加新元素
2.insert(index, 新元素) #在固定位置插入新的元素
3.extend(列表) #合并列表
4.pop([index=-1]) #与append对应,会默认移除最后一个元素
5.remove(元素) #移除对应的元素
6.clear() #清空 ===>ls.clear()
7.index(元素)----索引 #找到元素所在的位置
8.count(元素) #统计一个元素在列表中出现的次数
9.copy() #复制到一个新的列表中
10.reverse() #倒序
11sort() #排序
6.例题
1.石头剪刀布
2.一个3位数的每一位的立方相加等于这个三位数
3.水仙花数
4.一堆硬币,一次取两个,需要取多少次