列表:
1、用途:记录多个值(同种属性)
2、定义方式:在[]内用逗号分隔开多个任意类型的值
类型转换 定义列表实际上是借用list()方法生成列表,可以将其他类型转化为列表,如字符串元组,字典集合
3、常用操作+内置的方法
1、按索引存取值(正向存取+反向存取):即可存也可以取
使用下标索引来访问列表中的值
2、切片()
列表中的截取与字符串类似,按照索引
3、长度
使用len()方法获取列表长度,参数为列表
4、成员运算in和not in
通过返回值判断元素是否在列表中,
5、追加&插入
使用append()方法来添加列表项,添加在列表末尾
insert(index,obj)使用insert方法可以将对象插入列表,index为插入位置的索引
list.remove(obj)移除某个值在列表中的第一个匹配项
6、删除
可以使用 del 语句来删除列表的的元素
list.pop(index)删除并返回列表中的一个元素,index值默认为-1
7、循环
可以使用for输出列表元素
for element in list:
print(element)
list.count(obj)方法,统计某个元组在列表中出现的次数
list.extend(seq)在列表末尾一次性添加另一个序列的多个值
list.index(obj)返回对象第一次出现在索引中的位置
list.reverse()将列表反转无返回值
list.copy()返回复制的列表
list.clear()清空列表
list.sort(reverse=False)将列表排序reverse值默认为False,从小到大排序,
存多个值
有序
可变(可变==不可hash 不可变==可hash)
队列:先进先出
堆栈:后进先出
可以通过列表中的append()方法与pop()方法实现队列以及堆栈模型
元组tuple:
用途:元组就是一个不可变的列表
2、定义方式:在()内用逗号分隔开多个任意类型的元素
当元组个数只有一个时,必须加逗号与()运算符进行区分
类型转换
通过调用tuple()方法创建元组对象,参数可以为字符串类型,列表,字典集合
3、常用操作+内置的方法
1、按索引取值(正向取+反向取):
列表属于不可变类型,因此只能取
2、切片()
等同于字符串遵循左闭右开原则
3、长度
len()
4、成员运算in和not in
等同于列表
5、循环
同上
tuple.index(element)返回元素第一次出现的索引,当元素不存在时将报错
tuple.count(element)返回元素在元组中的个数,当元素不存在时返回值为0
存多个值
有序
不可变(1、可变:值变,id不变。可变==不可hash 2、不可变:值变,id就变。不可变==可hash)
元组中存储的是索引以及对象的id()信息,因此元组不可变指的是元组中存储的数据不可变,并不是元组引用的对象不可变
元组禁止修改但可以通过+,*对元组进行组合,将生成一个全新的元组
当使用列表元组对字典类型进行转化时,将只能讲字典的key存进列表及元组
字典类型dict
1、用途:记录多个值,列表是索引对应值,而字典是key对应值,其中key对value有描述性的功能
2、定义方式:在{}用逗号分隔开多个元素,每个元素都是key:value的形式,其中key可以不可变类型,通常是字符串类型
而value可以是任意类型
类型转换
当使用dict()方法时,参数可以为,元组,列表(当他们的元素处于一一对应的关系时),也可以将赋值表达式表示成字典形式
也可以使用fromkeys(seq,val)方法创建字典类型
以序列seq做字典中的键,val为对应的值
3、常用操作+内置的方法
1、按key存取值:可存可取
把相应的键放入到方括号中
可以使用get(key)方法取值当key不属于字典时,返回default
2、长度len
len(dict)将得到字典键值对个数
3、成员运算in和not in :是以字典的key为准的
即判断元素是否属于字典的键
4、删除
dict.clear()方法将字典所有元素删除
dict.pop(key)删除指定键所对应的值返回被删除的对象
dict.popitem()随机返回被删除的键值对
5、键keys(),值values(),键值对items()
dict.keys(),dict.values()分别返回字典所有键,所有值的可迭代类型集合
使用for 可以迭代keys(),values(),items()方法所产生的特定集合
当使用for 循环时,参数分别为1,1,2,且对应为键,值,键与值
dict.copy()方法返回一个字典的浅复制
dic.update(dict)将字典2的键值对更新到字典1中
dict.setdefault(key,value)和get()类似, 但如果键不存在于字典中,将会添加键并将值设为value如果存在将返回对应的值
存多个值 无序 可变
集合
集合类型set
1、用途:I: 关系运算 II:去重
2、定义方式:在{}内用逗号分隔开多个元素,当设置空集合时,必须使用set()方法
但是元素的特点是
I: 集合内的元素必须是不可变类型
II: 集合内元素无序
III: 集合内元素不能重复
数据类型转换
可以将其他类型转化为集合,且不可存在可变类型
3、常用操作+内置的方法
1、长度len
集合长度
2、成员运算in和not in
判断元素是否在集合
3、|合集:
4、&交集:
5、-差集:
6、^对称差集:求没有同时报名两门课程的学生
7、==
是否相等
父子集描述的是一种包含与被包含的关系
8、父集:>=
9、子集:<=
set.add(obj)将对象插入集合如果已存在,将不做任何操作
set.update(参数)参数可以是列表元组字典,update()方法只是将对象的元素加入集合,
remove(x)方法将元素 x 从集合 s 中移除,如果元素不存在,将发生错误无返回值
此外还有一个方法discard()也是移除集合中的元素,且如果元素不存在,不会发生错误
s.pop()随机删除一个元素并返回
clear()清空集合
in判断元素是否存在集合中
copy()拷贝一个集合
存多个值
无序
可变
集合的去重
局限性
1. 只能针对不可变类型
2. 不能保证原来的顺序