1、列表(list)
2、集合(set)
3、元组(tuple)
4、字典(dict)
一、列表list:
list:
列表,python官方提供的内置的线性表
底层实现:基于双向链表结构实现
是一种有序的集合,可以随时增加或者删除其中的元素,标识是中括号[]
定义列表:
age = [] # 中括号在python代表的就是列表
age = [18, 16, 20, 30]
names = list()
names = list("张三", "李四", "王五")
操作列表中的元素:
元素:element:
通过下标可以访问元素
列表[index]
下标index
index:从0开始,最大值: 列表的总长度 - 1
获取列表的长度:
len(Iterable) # 返回这个可迭代对象的长度
列表的遍历:
for循环
for 临时变量 in Iterable:
# 每一次得到的元素会放在临时变量中
while循环:
列表的常见方法:
['append', 'clear', 'copy', 'count', 'extend', 'index',
'insert', 'pop', 'remove', 'reverse', 'sort']
这些方法都是用来操作列表的
CRUD(增删改查)
|-- append(ele) # 在尾部追加新的元素
|-- insert(index, ele) # 在特定的位置添加元素
|-- extend(list) # 合并列表,也可以用str()+str()的方式来合并列表
|-- clear() # 清空列表
|-- remove(ele) # 删除指定元素
|-- pop() # 删除最后一个元素
|-- index(ele) # 返回查找到的一个元素位置
|-- count(ele) # 返回元素的数量
|-- reverse() # 翻转列表顺序
|-- sort() # 排序
|-- copy() # 拷贝、复制,对象拷贝,对象浅拷贝
二、集合set:
set(集合):和哈希表的存储的方式相似
哈希表(hash table):
哈希算法的实现:能够将任何事物映射为一个特定的值
特点: 1、元素不能重复
2、无序的
定义set:
s = set(Iterable)
ss = {1,2,3,4,} # {}中必须有值,如果没有值,则默认是dict,不是set
注意:set的元素无法通过下标访问
set的常见方法:
['add', 'clear', 'copy', 'difference', 'difference_update',
'discard', 'intersection', 'intersection_update', 'isdisjoint',
'issubset', 'issuperset', 'pop', 'remove', 'symmetric_difference',
'symmetric_difference_update', 'union', 'update']
|-- add(ele) # 添加元素
|-- clear() # 清空列表
|-- copy() # 浅拷贝
|-- difference(set) # 差集
|-- intersection(set) # 交集
|-- union(set) # 并集
|-- update(set) # 合并两个集合
|-- discard(ele) # 移除元素,如果该元素不存在,则什么都不做
|-- remove(ele) # 移除元素,如果该元素不存在,则抛出异常
|-- pop() #
注意:set没有办法使用while 遍历数据,只能使用for循环,因为while循环需要访问元素下标,而set中的元素无序而不能访问下标所以不能实行
三、元组tuple:
tuple(元组):
是一种不可变数据类型
基本数据类型也是不可变数据类型
不可变数据类型中如果存在了可变数据类型,这个子对象是可以发生变化的
所以表示的就是的固定的值,固定的一组值
可以通过下标来访问
元组的元素一旦定义,就无法修改!!!
常用方法:
|-- count # 统计元素个数
|-- index #访问元素下标
四、字典dict:
字典(dict):
字典和集合一样,底层实现就是一个hash table
最终的表示方式:
group={}
group={'name':"某某某","年龄":18,"sex":"女"}#键值对:一个唯一键对应一个值,一一对应的关系
groupsss=dict({'name':"某某某","年龄":18,"sex":"女"})
获取字典中的值:
d[key] # 就可以获取字典中,key对应的值,如果不存在,则抛出异常
字典对象.get(key,default) # 就可以获取字典中,key对应的值,如果不存在,则返回None
字典对象的常见方法:
['clear', 'copy', 'fromkeys', 'get', 'items', 'keys',
'pop', 'popitem', 'setdefault', 'update', 'values']
|-- clear() #
|-- copy() #
|-- get(key, [defaul]) #
|-- setdefault() #
|-- keys() # 获取所有的键
|-- values() #
|-- items() #
|-- pop(key) # 通过key,删除键值对
|-- popitem() #
|-- update() # 合并字典 等价于 {**对象, **对象}
|-- fromkeys(iterable) # 生成一个新的字典对象
如何遍历字典:
for i in 对象.keys():
print(i, 对象[i])
for i in 对象:
print(i, 对象[i])
for item in 对象.items():
print(item[0], item[1])
for (key, value) in 对象.items():
print(key, value)
for key, value in 对象.items():
print(key, value)