全局函数:
print
input
type
int
float
str
len
dir
help
range
eval # 将字符串转换脚本
容器:容器是一种把多个元素组织在一起的数据结构,容器中的元素可以逐个地迭代获取,可以用in, not in关键字判断元素是否包含在容器中。
- 容器是一种可以包含其他类型对象(如列表,集合,元组,字典等)作为元素的对象;
- 容器仅仅只是用来存放数据的,我们平常看到的 l = [1,2,3,4]等等,好像我们可以直接从列表这个容器中取出元素,但事实上容器并不提供这种能力,而是可迭代对象赋予了容器这种能力。
列表--list
线性表:
数组:数组是连续内存的结构, python是没有数组
栈: 先进后出,后进先出
队列:先进先出,后进后出
链表:
|-- 单向链表:节约内存
|-- 双向链表:
python的列表这种容器就是基于双向链表实现的
|-- 列表的定义
|-- 由若数据类型语言决定,直接将值赋给变量
如: ls = [2, 3, 4, 5, 56]
|-- 全局函数list
ls = list()
ls = list([1,2,3,4,5,5])
# 容器中的每一个,我们叫做元素
|-- 如何访问元素
使用下标来访问,注意下标是从0开始
可以通过下标访问元素
也可以通过下标来修改元素值
|-- 求列表的长度
全局函数 len(容器) # 返回容器的长度
|-- 如何遍历容器两个列表进行合并操作
while
index = 0
while index < len(ls):
print(ls[index])
index += 1
for循环:
for i in ls:
print(i)
|-- 列表中的常见方法
['append', 'clear', 'copy', 'count', 'extend', 'index', 'insert', 'pop', 'remove', 'reverse', 'sort']
|-- append() # 向列表尾部追加元素
|-- insert() # 向指定的位置追加元素
|-- sort() # 排序(一般用来排序数字)
|-- index() # 查找元素第一次在列表中出现的位置,如果没有这个元素,则抛出异常
|-- reverse() # 将列表元素顺序翻转
|-- remove() # 通过元素来移除元素,注意,如果元素不存在,则抛出异常
|-- count() # 统计元素个数
|-- clear() # 清除元素
|-- copy() # 浅拷贝对象,是在堆内存中进行对象拷贝的
|-- extend # 合并列表
|-- pop() # 删除最后元素,并返回这个元素
内存模型:
栈(stack):
先进后出,后进先出
堆(heap):
队列:先进先出,后进后出
集合(set):
|-- 常见一个集合
s = set() # 使用全局函数set来创建一个集合
s = set({1,3,4,5}) # 创建集合,并赋值
s = {} # 如果使用空的{}来创建一个对象,该对象是字典,并不是集合
s = {元素} # {}至少要有一个元素,此时才是集合
|-- 集合的底层基于hash表实现的
不能重复的,也就意味着集合中的元素都是唯一的
无序
|-- 常见方法:
['add', 'clear', 'copy', 'difference', 'difference_update', 'discard', 'intersection', 'intersection_update', 'isdisjoint', 'issubset', 'issuperset', 'pop', 'remove', 'symmetric_difference', 'symmetric_difference_update', 'union', 'update']
|-- clear #
|-- remove #
|-- copy #
|-- add # 增加元素
|-- difference # 差集
|-- intersection # 交集
|-- union # 并集
|-- update # 更新集合,合并集合
|-- discard # 移除元素,但是如果不存在,则不做任何操作
元组(tuple)
|-- 定义
通过若数据类型
t = (元素...)
tuple全局函数
tt = tuple()
tt = tuple((元素...))
|-- 通过下标来访问元素
|-- 元组的特点
元组是一个不可变了类型,元组的元素一旦定义下来,则无法改变
注意:
虽然元组不可变,如果元组内部元素是可变类型,那么该元组就可变!!
|-- 常见方法
|-- index
|-- count
字典(dict)
键值对形式存储的
|-- 定义
d = {"name": "liujianhong", "age": 16, "gender": "男"}
d = dict()
|-- 如何访问值
通过key来访问对应的值
字典对象[key] # 返回key对应的值,如果没有,抛出异常
字典对象[key] = 新值
字典对象[新key] = 新值 # 增加新的键值对
|-- 常见方法
['clear', 'copy', 'fromkeys', 'get', 'items', 'keys', 'pop', 'popitem', 'setdefault', 'update', 'values']
|-- clear
|-- copy
|-- get # 和字典对象[key]类似,获取键对应值,注意,如果没有该键,返回None
|-- keys # 返回所有的键
|-- values # 返回所有的值
|-- setdefault # 设置默认值
|-- items # 返回一个键值对
|-- pop(key) # 通过key删除键值对
|-- popitem # 移除一个键值对,移除的规则是LIFO(last in first out)
|-- 字典的遍历:
for k in d.keys():
print(k, d.get(k))
for k in d:
print(k, d[k])
for k,v in d.items():
print(k, v)
LIFO:后进先出 栈
FIFO:先进先出 队列