一、列表
列表:list
可以存储多个有顺序的可以重复的数据的类型
其他语言:数据;python中~提供的是列表[不说数组]
列表:操作数据:增加、删除、修改、查询 [CRUD]
append/insert/extend:增加
del:删除
通过下标/索引/编号:修改/查询
count/index/sort/reverse|pop/clear/remove
dir()/help()
二、元组
元组:tuple,可以存放一组有顺序的可以重复的不可改变的数据!
元组主要是用于数据处理的:增加、删除[删除元组本身]、修改、查询
声明元组
t1 = tuple() 声明空元组
t2 = () 声明空元组
t3 = (1,2,3,4,5) 声明包含元素的元组
t4 = (“h”) t4 = (“h”,) 如果只有一个元素,添加一个逗号分隔
t5 = (1) t5 = (1,) 如果只有一个元素,添加一个逗号分隔
程序中,如果出现了一组数据,在使用过程中,不允许修改的情况下
优先选择:元组 tuple
其次选择:列表 list
查询相关函数,可以直接操作,如:len()查看元组中元素的个数
运算相关:
元组自己没有提供count/index之外的操作
外部有一个默认的函数sorted可以针对元组进行排序
排序注意:使用系统默认排序~保证排序的数据他们的数据类型是一致的!
对元组排序后输出的是列表!
元组:tuple,只有两个可以操作的函数[count()/index()]
可以存放多个有顺序的可以重复的不能改变的数据!
三、集合
集合:set
需求场景:我们需要存放一组数据,但是不希望存放重复的数据!用户的账号!
集合:通过哈希(hash)算法在一个容器中存放多个没有顺序的不可以重复的数据
声明一个集合:
s1 = set() <class ‘set’>
s2 = {“a”} <class ‘set’>
s3 = {} <class ‘dict’>
集合是用于存储和处理数据的,常见的操作函数都有那些?
dir(set)
'add'增加, 'clear'清空, 'copy'复制, 'difference'两个集合之间求差集, 'difference_update'求差集并且用不一样的数据重新给自己赋值, 'discard', 'intersection'求交集, 'intersection_update'求交集并给自己赋值, 'isdisjoint', 'issubset', 'issuperset', 'pop'随机删除一个, 'remove'指定删除某个数据, 'symmetric_difference', 'symmetric_difference_update', 'union'求并集, 'update'求并集并给自己赋值
集合:python中内置的组合数据类型之一:set表示
存储多个没有顺序的不可以重复的数据;通过hash算法让添加的数据不重复[剔重]!
需求:从多个数据中,提取一个数据使用,例如【购买商品】
以前:如果使用的是列表存储数据~通过下标/索引/编号提取某个数据
如果使用的是元组存储数据~在不修改数据的前提下,可以通过下标提取数据
如果使用集合存储数据~通过成员运算符进行判断是否存在,使用这个数据
四、字典
python中的字典:dict
可以存储多个key:value 键值对数据的组合数据类型
常见操作:声明字典
d1 = dict() # 空字典
d2 = {} # 空字典
数据常见操作:增加、删除、修改、查询
clear'清空, 'copy'复制, 'fromkeys'通过制定的key生成一个值为None的字典, 'get'根据key获取对应的值, 'items'获取所有的k:v键值对, 'keys'获取所有的键, 'pop'根据key值删除一个键值对, 'popitem'随机删除一个键值对, 'setdefault'增加一个数据,如果数据存在~修改, 'update', 'values获取所有的值
字典中,增加数据
f[key] = value
f.setdefault(key, value)
f.update(key, value)
删除数据:删除一个键值对
f.pop(key) 删除指定的key:value键值对
f.popitem() 随机删除一个键值对
del f[key] 删除指定的key:value键值对
修改数据
f[key] = value
f.update({key, value})
查询数据
v = f[key]
v = f.get(key)
遍历数据
for k in f.keys():# 直接循环字典中的key数据
print(k, f.get(k)) # value数据通过key数据获取
for k, v in f.items():# 直接循环字典中的key和value数据
print(k, v)
网友评论