数据结构
分为字符串,字典,列表,元组,集合
这几种基本都有索引,id,type,value的
通用的内置方法:lena()获取总长,max/min()获取结构中的最大值/最小值(本意是在可比较的结构里求极值),sum()用于求总和
1.列表
列表是一种有序、可变、可重复的线性数据结构
特殊:列表是多个元素的复合体,所以除了列表有id,type,value标签,列表里的元素也都有id,type,value标签 且列表可以嵌套列表,索引有[0~6] 读取列表的元素是用 索引来打印出元素如 print(list(索引))
操作:{列表+列表}拼接成新列表,{列表*数字}用于重复列表里的元素
内置方法:list()是将别的数据结构转化成列表,像字典,元组都有同名英文单词的方法都是转化数据结构
方法 count(元素)用于获取列表的元素的索引 print(列表名.count(元素))
sort()将列表的元素按照大小进行排序(列表里的元素必须是同一种类型)
reverse()就是颠倒列表的顺序
insert(位置,值): 列表名.insert(索引,值)
append(元素)添加新的元素到列表末尾里
pop(索引)删除该索引对应的value,当索引不存在则删除最后一个元素
del.列表名[索引]删除该位置上的元素
2.元组
特性:有序的,不可变的,可重复的线性数据结构
与列表类似可以用元组+元组来组合成新的元组,有del()语句用于删除整个元组,可以用索引来打印元素
内置的方法: 有len()
max/min()
tuple()转换成元组
sum()
3.字典
字典是无序,可变,键味一,键值对形式的散列表数据结构,用途是通过键快速查找对应的值
特殊: “键”必须是一个不可变、可哈希(hashable)的对象,但值可以是任意的 同样的键只能出现是一次,如果出现两次:后面出现的键会覆盖之前键 一般以{键:值}创建,和dict创建,与集合的表现形式都是以{}出现,但两者不同,键来打印约束字典里的元素的
内置方法: len(),type()
str()以字符串来输出字典
cleara()彻底清空字典的元素;py()拷贝字典
get()原型:
`dict.get(key[, default]) -> value | default`
位置参数:1 个必给 key,1 个可选 default
返回值: – key 存在 → 对应的 value – key 不存在 → default(省略时为 None)
items()是将字典里的元素包括键在在内的,创建一个以(key,value)为一组的列表/元组,但不是列表本身,keys()只拿键 values()只拿值
setdefault(键【,默认值】)如果键存在,则返回其对应值,否则返回默认值,如果键值没有对应的值则添加字典
4.集合
集合的创建是以set()创建空集合,非空集合是以直接的花括号来创建的(没冒号,有冒号的是字典),且元素必须是可哈希的,集合的元素是不重复的
可以创建可变和不可变的集合,正常建的是可变集合,创建不可变集合要用frozenset()方法
集合是用来储存数据的,类似与数学上集合,
操作:
增加
srt.add(元素)
合并
并集:集合3=集合1.union(集合2)
交集:集合3=集合1.intersection(集合2)
效果如下
a = {1, 2, 3}
b = {2, 3, 4}
c1 = a.intersection(b) # 方法写法
c2 = a & b # 运算符写法
print(c1, c2) # {2, 3} {2, 3}
删除
集合.remove(元素)
集合.discard(元素)
用与删除指定的元素
集合2=集合1.pop()
clear()清除所有