一、列表(list(线性表))
1、列表是一种有序和可更改的集合,允许重复的成员。
2、定义方式:
(1)基于弱数据类型语言定义
eg: ls=[1,2,3,4,5]
(2)通过全局函数list()定义
eg: ls = list() ls2 = list([1,2,3,4,5])
3、如何获取元素:通过下标获取元素(即指定索引范围),从0开始,
如果下标超过列表的最大下标值将会报错,通过下标可以修改列表里面的某个元素。
4、常用方法:
方法 | 作用 |
---|---|
append() |
向列表的尾部添加元素
|
insert(index
,
object)
|
向指定的下标处添加元素
|
sort
()
|
进行排序(从下到大
int
类型)可以对字母进行排序(
ASCII
值)类型不能混
|
index
()
|
返回的是元素在列表中的第一个位置
|
reverse
()
|
将列表进行翻转
|
remove
()
|
删除某个元素,如果有重复,删除的是第一次出现的元素,如果元素不存在会
报错
|
count
()
|
返回的是某个元素在列表里面的个数
|
clear
()
|
清除元素
|
copy
()
|
浅拷贝对象
不等价与
=
|
extend
()
|
合并列表
|
pop
()
|
删除列表尾部的元素(与
append
相反)
,
返回删除的元素,
pop(i) i
指的是下标
|
二、集合 set —— 哈希表
1、集合是一个无序和无索引的集合,没有重复的成员。
2、定义方式:
(1)set() 全局函数 s = set()
(2)s = {1,2,3} ---------- 弱数据类型语言 {} ------- 集合
3、常用方法
方法 | 作用 |
---|---|
add() |
添加 ,添加重复的元素的时候不会报错,但是不能成功添加,因为集合元素不能重复
|
clear() | 删除集合中的所有元素 |
copy() | 返回集合的副本 |
difference()
|
差集
|
intersection()
|
交集
|
union() |
并集
|
remove() |
删除指定元素,
如果元素不存在会报错
|
pop() | 从集合中删除一个元素 |
update() |
更新意思 更新集合(合并集合)
|
discard() |
移除元素,移除不存在的元素的时候,不会报错
|
三、元组(tuple)
1、元组是一种有序且不可更改的集合,允许重复的成员。
2、定义方式:
(1)t = tuple()
(2)t = (1,2,3) ------- 弱数据类型语言
3、特点
(1)通过下标获取元素。
(2)元组是一个不可变(指向不可变)类型,但是元组里面的元素可以是可变类型。
eg:(1, 2, 3, ['A', 'B'], 4) ——> (1, 2, 3, ['X', 'Y'], 4)
PS:能用元组的情况下尽量不要用列表
4、经典案例
面试题: t = (1) 判断一下 t 的类型?答案: int如何定义一个元组只有一个元素?答案: t = (1,)
四、字典(dict)
1、字典是一个无序,可变和有索引的集合,没有重复的成员。
2、定义方式:
(1)d = dict()
(2)d = {"name":"zhangsan","age":18}
3、获取值:
d[key] ------ 获取 value 的值d[key] = value ------ 修改原本 value 的值
4、常用方法:
方法 | 作用 |
---|---|
clear() | 删除字典中的所有元素 |
copy() | 返回字典的副本(拷贝) |
get() |
通过
key
获取
value
的值,注意:如果获取不存在的
key
,返回的是
None
|
items() |
获取所有的键值对
|
keys()
|
获取所有的键
|
values()
|
获取所有的值
|
setdefault ()
|
设置默认值
|
pop()
|
通过
key
值删除键值对,如果没有则抛出异常
|
popitem ()
|
删除键值对,返回的是删除的键值对,遵循的规则先进后出
|
5、遍历字典
for k in d:
print(k,d.get(k))
for k in d:
print(k,d[k])
for k,v in d.items():
print(k,v)