1、什么是容器:
线性表:有序的容器结构
数组(array):有连续的内存空间组成
链表(list):不连续的内存空间组成了逻辑结构
栈(stack):后进先出(LIFO),先进后出(FILO)
队列(queue):先进先出,后进后出
2、python的list(列表):
(1)底层的实现就是使用双向链表结构实现的!!!
(2)定义list:
** 通过弱数据类型语言的特点,直接将值赋值为一个变量
users = ['秦霄贤', '檀健次', '薛之谦', '胡梦周']
** 通过list全局函数创建列表:
u2 = list([1,2,3,4,5,6])
(3)使用列表元素:
通过下标获取某个元素值 (注意:下标是从零开始)
u2[3] # 获取第四个u2中的值
(4)获取列表长度:
len()全局函数
(5)列表的遍历:
for i in users:
print(i)
index=0
while index < len(users):
print(users[index])
index += 1
(6)列表的常见方法:
['append', 'clear', 'copy', 'count', 'extend', 'index', 'insert', 'pop', 'remove', 'reverse', 'sort']
@1、append(新元素) # 在尾部追加新的元素
@2、 insert(index, 新元素) # 在特定的位置插入新元素
@3、clear() # 清空列表
@4、remove(元素) # 通过元素本身删除元素,如果该元素不存在,则抛出异常
@5、pop(index=-1) # 可以通过位置删除元素,默认删除最后一个
@6、count(元素) # 统计元素在列表中出现的次数
@7、 index(元素) # 获取元素在列表中的第一个位置索引,如果没有该元素,则抛出异常
@8、copy() # 浅拷贝对象
@9、extend() # 列表合并
@10、reverse() # 翻转列表元素顺序
@11、sort() # 排序列表元素
2、python的set(集合):
(1)set的使用:
Hash表实现(哈希、散列表):无序、不能重复
(2)set的定义:
s = {元素, ……}
ss = set()
ss = set([1,3,4,54,5,4,4,3,1]) # 将列表转换为集合
add: set是无序,不存在下标索引
(3)常见方法:
['add', 'clear', 'copy', 'difference', 'difference_update', 'discard', 'intersection', 'intersection_update', 'isdisjoint', 'issubset','issuperset','pop','remove','symmetric_difference', 'symmetric_difference_update', 'union', 'update']
@1、 add(新元素) # 添加新的元素
@2、clear() # 清空列表
@3、copy() # 浅拷贝对象
@4、 difference() # 差集
@5、intersection() # 交集
@6、union() # 并集
@7、discard # 通过元素本身删除元素,如果该元素不存在,则抛什么都不做
@8、remove(元素) # 通过元素本身删除元素,如果该元素不存在,则抛出异常
@9、pop() # 随机移除元素
3、python的 tuple(元组):
(1)元组是一种不可变的数据类型
@1、count() # 统计元素在列表中出现的次数
@2、index() # 获取元素在列表中的第一个位置索引,如果没有该元素,则抛出异常
注意:python中(12)是int型,(12,)是元组
4、python的 dict(字典):
(1)字典的常见方法:
['clear', 'copy', 'fromkeys', 'get', 'items', 'keys', 'pop', 'popitem', 'setdefault', 'update', 'values']
@1、clear() # 清空列表
@2、copy() # 浅拷贝对象
@3、keys()
@4、value()
@5、items()
@6、get()
@7、pop(key) # 通过键删除键值对
@8、popitem()
(2)字典的遍历;
for key in 字典对象:
print(key, 对象[key])
for key in d:
print(key, d[key]
for key in d.keys():
print(key, d.get(key))
for key, value in d.items():
print(key, value)
for (key, value) in d.items():
print(key, value)
for item in d.items():
print(item[0], item[1])
注意:不可变数据,如果包含了可变对象,该部分是可以变化的,如:
t = (1,2,2,43,45,[1,3,4,54])
t[5].append(1203)