文章目录
- python 容器
- 1.列表
- 2.集合
- 3.元组
- 4.字典
- 1.列表(list(线性表))
- 2.集合(set)------ 哈希结构
- 3.元组(tuple)
- 4.字典(dict)
python 容器
容器是一种:数据类型
有四种容器:
1.列表
2.集合
3.元组
4.字典
1.列表(list(线性表))
线性表(常见的线性表:链表 数组 栈 队列) --------基础链表实现的------双链表实现的
python没有数组,数组存储空间是连续的
定义:
1.弱数据类型语言
ls = [1,2,3,4]
2.全局函数list()
ls = list()
ls = list([1,2,3,4])
python怎样访问元素?
通过下标来获取元素 ,超过角标会报错,角标也可以为负数。
遍历列表 :
1.for 循环:
ls = [1,2,3,4,5]
for i in ls:
print(i)
结果:1,2,3,4,5
2.while循环:
ls = [1,2,3,4,5]
index = 0
while index < len (ls):
print(ls[index])
index +=1
结果:1,2,3,4,5
常用方法:
len() -----------------返回容器的长度
ls = [1,2,3,4,5]
len(ls)
结果: 5
append() -------- 像列表的尾部追加元素
ls = [1,2]
ls.append(5)
结果: ls = [1,2,5]
insert (index,object) ---------- 在列表里指定的位置添加元素
ls = [1,2,3]
ls.insert(1,9)
结果: ls = [1,9,2,3]
sort() ---------- 列表元素进行排序,整形(从小到大的顺序)
ls = [1,3,2,5,4,7,6,9,8]
ls.sort()
结果:ls = [1,2,3,4,5,6,7,8,9]
index() --------- 查看列表里某一个元素的下标(如果有多个元素,查找的角标是第一个出现的位
置),如
果列表里没有元素,会报错
ls = [1.2.3.4.5.6.7.8]
ls.index(4)
结果: 3
reverse() --------- 将列表元素进行翻转
ls = [5,4,3,2,1,]
ls.reverse()
结果:ls = [1,2,3,4,5]
remove() -------- 通过元素在列表中删除元素,如果元素不存在会报错
ls = [1,2,3,4,5]
ls.remove(2)
结果: ls = [1,3,4,5]
count()---------- 统计元素在列表中出现次数
ls = [1,1,1,2,3,4,5]
ls.count(1)
结果: 3
clear() --------清除列表
ls = [1,2,3,4,5]
结果:ls = []
copy()------- 浅拷贝 不等价于 =
ls = [1,2,3]
ls1 = [4,5]
ls = ls1.copy()
结果: ls = [4,5]
extend()------ 合并列表
ls = [1,2,3]
ls2 = [4,5]
结果: ls = [1,2,3,4,5]
pop() ------- 从列表的尾部删除元素,并且返回删除掉的元素,pop(i)------删除角标为i处的元素
ls = [1,2,3,4,5]
ls.pop()
ls.pop(3)
结果:5
结果:3
内存模型:
什么是内存?
存储数据
如何存储?
栈 : 先进后出 后进先出
队列 :先进先出 后进后出
2.集合(set)------ 哈希结构
创建集合方法
全局函数
s = set()
s = set({1,2,3,4})
s = {1,2,3,4,5}
注意:
1.s = {} ------ 表示的字典,也就是说创建集合的时候至少有一个元素
2.集合是无序,不能重复的
常见的一些方法
‘add’, ‘clear’, ‘copy’, ‘difference’, ‘difference_update’, ‘discard’, ‘intersection’,
‘intersection_update’, ‘isdisjoint’, ‘issubset’, ‘issuperset’, ‘pop’, ‘remove’,
‘symmetric_difference’, ‘symmetric_difference_update’, ‘union’, ‘update’]
clear() -------------------- 清除元素
s = set({1,2,3,4})
s.clear()
结果:set()
copy()
s = set({1,2,3,4})
n = set({5,6,7})
s = n.copy()
结果:s = {5,6,7}
remove()
n = set({5,6,7})
n.remove(6)
结果:n = {5,7}
add() ---------------- 向集合添加元素,如果添加的元素是重复的,不能够添加
n =set( {1,2,3,4})
n.add(9)
结果: n = {1,2,3,4,9}
difference() --------- 差集
y = set({1,2,3,4})
n =set({1,2,3})
y.difference(n)
结果:y = {4}
intersection()--------- 交集
y = set({1,2,3,4})
n =set({1,2,3})
y.intersection(n)
结果: y = {1,2,3}
union() -------------------并集
y = set({1,2,3,4})
n =set({1,2,3})
y.union(n)
结果: y = {1,2,3,4}
update() -------- 更新集合,合并集合
n =set({1,2,3})
n.update({8})
结果:n = {1,2,3,8}
discard()-------- 移除元素,如果元素不存在,不做任何操作
n =set({1,2,3})
n.discard(2)
结果:n = {1,3}
清屏操作:
import os
os.system(“cls”)
3.元组(tuple)
元组是有序的
元组的定义方法:
弱数据类型语言
t = (1,2,3)
全局函数tuple()
t = tuple()
t = tuple((元素1,元素2))
元组的特点:
元组是有序,---------通过下标来获取元素 下标可以是负数 但是不可以通过下标更改元素
元组是一个不可变的类型(虽然元组不可变,但是元组内的元素是可变的)
常见方法:
count()
t = ("a","b",["A","B"])
t,count("a")
结果:1
index ()
t = ("a","b",["A","B"])
t.index("a")
结果:0
面试题:
a = (1) ,a的类型是什么?
a = (1)
type(1)
结果:int
a = (1,)
type(a)
结果:tuple
4.字典(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 会抛出异常
d = {"name":"zhangsan","age":"18"}
d["name"]
结果:zhangsan
字典[key] = 新值
d = {"name"."zhangsan","age":"18"}
d["name"] = "lisi"
d["name"]
结果:lisi
字典[新key] = 新值
d["lisi"] = "jiahao"
d["lisi"]
结果:jiahao