(Python组合数据类型)
#组合数据应用基础
Python组合数据,包含四中类型:列表(list),元组(tuple),集合(set),字典(dict)。
1. 列表
**
列表是一种可存放多个数据,数据可以重复,有顺序,可以修改的组合数据。可以添加删除排序数据。
空列表表示有: x = list() 或者 x = [] 常推荐前者表示
非空列表有: x = list([1,2,3,4,5]) 或者 x = [1,2,3,4,5]
常推荐后者表示
增加数据
| 在列表末尾位置添加一个数据| 例:x.append(“数据”) |
|在列表末尾位置添加一组数据| 例:x.extend(“数据”)|
| 在指定位置添加一个数据 | x.insert([1],”数据”) |
- 删除数据
删除末尾数据
x.pop()
删除指定的数据
x.remove(“数据”)
删除列表
del x
清空列表内的数据
x.clear()
**
修改数据
** 通过赋值对应下标/编号位置的数据
x[index] = new_value(即新数据)
数据查询
通过编号/下标查询相应位置的数据
x[index] #index即表示下标/编号
for循环遍历查询列表中的数据
for x1 in x:
print(x1) #将x列表中的数据一次存放到x1中展现出来
列表的扩展:
查看x列表中某个指定的数据(object)在列表中出现的次数
x.count(obj):
查看某个指定的数据(object)在列表中的位置(编号)
x.index(obj)
让列表按照自然顺序排列
x.sort()
翻转列表
x.reverse()
查看列表的长度(或查看列表中是否有数据)
len(x)
针对列表中的数据进行最大值~最小值的判断
max(x)/min(x)
学习方法推荐
dir(): 查看某个具体的操作模块中都有哪些操作方式。
help():查看某个具体的操作方式的解释说明
注:模块即是一大推可以操作的功能的集合
2.元组
类型:tuple
特点:可存储多个可以重复的有顺序的,不能修改的数据。
元组常用表示
空元组表示:t= tuple() 或 t= ()
常采用前者表示
非空元组表示:
t = tuple(["hello"]) #声明包含一个元素的元组,不推荐
t = ("hello") #不是一个元组:扩展被当成了运算符号。
t = ("hello",) #这是一个包含单个元素的元组。
t = tuple(["hello","world"]) #声明包含多个元素的元组。不推荐使用。 tuple(obi) 类型转换,将括号中包含的数据转换为元组
t = ("hello","world") t = "hello","world"
#声明包含多个元素的元组
元组数据的操作
元组因数据的不可变性操作不存在修改
故只剩下查询和删除元组
查询:
t.count(数据) #查询某个数据在元组中出现的次数
t.index(数据) #查询某个数据在元组中出现的位置
len(t) #查询元组中有多少个数据或长度
max(t)/min(t) #查询元组中的最大最小值(必须数据类型相同)
集合
类型:set
特点:可以存放多个不重复无顺序的可以修改的数据。
声明
s = set() #代表空集合
s = {} ~ERROR 这是声明字典的语法
s = set ([1,2,3,4]) #代表一个非空集合
s= {1,2,3,4} #代表一个非空集合推荐使用
数据增加
s.expend(88,11,22,33) #集合末尾位置增加一组数据
s.append("jake") #集合末尾位置增加一个数据
s.add(55) # 一次只能添加一个数据,随机放在集合中
删除数据
s.remove(obj) #删除指定的某个数据
s.pop() #删除末尾位置的一个数据
s.clear() #清空集合
del s #删除集合
字典
类型:dict
特征:可以存放多组 key-value 键值对 的 键不能重复 值可以重复的数据对。
字典在某些场合也成为映射,体现的是一一对应关系,可以通过key找到value
类比:对比列表~字典中的key值相当于列表中的编号
users列表 users[0]表示了一个用户 users[0][1]表示了用户的密码 users字典 users[‘admin’]表示了一个账号为admin的用户 users[‘admin’][‘passsword’]表示了该用户的密码
声明
b = dict() #表示空字典 (推荐使用)
b ={} #表示空字典
b = {1:'value',2:'value1'} #非空字典(推荐使用) 1 对应 value ,2对应 value1
b=dict([('1','value'),('2','value1')]) #相当于 b = {1:'value',2:'value1'}
数据操作
b[key] = '榴莲' b[key] = 'key(new)','青橙(new_value)' #增加数据 前者直接增加一对键对值,后者则增加key:[key:value]
b[key] = "香蕉"(new_obj) #更改字典内value内容
b.get(1) #提取字典中key(1)对应的value
删除指定key的数据
b.pop(1)
随机删除一个数据
print(b.popitem())
print(b)
成员运算符
1. 判断指定的数据是否包含在字典的key中
print('obj' in b)
2.判断指定的数据是否包含在字典的key中
print('obj' in d)
#函数setdefault可以增加数据,但是key若已存在就不执行任何操作,若新设key值没有则增加一组新数据
b.setdefault(1,'芒果') #字典b中存在key(1)故该指令无运行内容 ,反之则将增加数据(1,'芒果')
for循环遍历字典内key值
`for x in b.keys():
print("--------->>>",b.get(x))`
for循环遍历字典内键值对
for x in name:
print(x,"------->>>",x,b.get(x))`
查询字典中所有的key值
print(b.keys())
#查询字典中所有的value值
print(b.values())
#查询字典中所得items(条目,键值对)值
print(b.items())
复制字典(两者完全相同)
b.copy()
print(b)
更新字典
b.update()
print("update>>>",b)