列表 list
类型:list
特点:按照有顺序的可以存储多个可以重复的数据
声明方法:
空列表的声明:x=list() 行业规范推荐
非空列表声明:x=[1,2,3] 行业规范推荐
数据操作-增加:
append(想要增加的数据obj):末尾增加一个数据,
例如:x.append(4):
Print(x)
输出结果:[1,2,3,4]
insert(下标index,数据obj):指定位置增加一个数据
例如:x.insert(1,5)
Print(x)
输出结果:[1,5,2,3,4]
extend(seq):末尾增加一组数据,如列表
例如:x.extend([6,7]):
Print(x)
输出结果:[1,5,2,3,4,[6,7]]
数据操作-删除:
del x[下标index]:根据下标/编号删除一个数据
下标必须是列表长度范围之内,超出范围就会越界错误
例如:del x[1]:
Print(x)
输出结果:[1,2,3,4,[6,7]]
remove(数据obj):指定删除一个数据
例如:x.remove(4):
Print(x)
输出结果:[1,2,3,4]
pop:在列表中删除末尾的一个数据
例如:x.pop():
Print(x)
输出结果:[1,2,3]
clear: 清空列表
del: 删除列表
数据操作-修改:
X[index]=new value 通过下标/编号 直接给当前编号的数据重新赋值
例如:x[0]=’5’
Print(x) 输出结果:[5,2,3]
数据操作-查询:
X[1] 通过下标直接查询该下标位置的数据
例如:print(x[1])
输出结果:2
for s in x:
print(s) 将x列表中的数据依次存放到s临时变量中并展示出来
输出结果:5
2
3
列表拓展:
x.count(obj):查看某个指定的数据obj在列表中出现的次数
x.index(obj):查看某个指定的数据在列表中的位置/下标/编号
x.sort():按照自然顺序排序
x.reverse():翻转顺序
len.x :查看列表长度,查看列表中是否有数据
元组 tuple
类型:tuple
特点:可以存储多个的,重复的,有顺序的,不能修改的数据
声明:x=tuple() 声明一个空元组【推荐】
X=(‘hello’,’word’)声明一个非空元组【推荐】
tuple(obj)类型转换,
数据操作—查询(元组特殊性:查询)
‘count’:查看某个指定的数据,在元组中出现的次数
‘index’:查看某个指定的数据在元组中出现的位置
‘len(x)’:查看元组中元素出现的个数
‘max(x)’/’min’:查看元组中最大/最小值
集合 set
类型:set
特点:可以存放多个的,无序的 不能重复的数据
声明:s=set() 声明一个空集合【推荐】
S={1,2,3,4}声明一个非空集合【推荐】
数据操作-增加:
s.add()在集合中增加一个数据
数据操作-修改:
在集合中修改数据,因为集合是无序的,所以不能确定数据位置直接修改。
首先需要查询集合中的数据,确定要修改的数据在集合里,然后将该数据删除,再将想要的数据添加进去就可以了
具体操作如下:
S={1,2,3,4}声明一个非空集合
print(1 in s)查询数据1是否存在
if 1 in s:
s.remove(1)将数据1删除
s.add(5)将数据5添加
print(s)
输出结果:{5,2,3,4} 完成数据修改
数据操作—查询:
查询数据只有遍历查询
for x in s:
print(s)
输出结果:{5,2,3,4}
数据操作—删除:
s.pop:随机删除一个数据
s.remove:删除一个具体的数据
s.clear:清空集合
del s :删除集合
字典(重点)dict
#声明一个空字典
d=dict()#推荐
d2={}
#定义一个非空字典
d3={'青云门':'张小凡','鬼王宗':'碧瑶','炼血堂':'野狗'}#推荐
print(d3)
#输出结果:{'青云门': '张小凡', '鬼王宗': '碧瑶', '炼血堂': '野狗'}
# 1.增加数据
#key和value都是基本数据类型,都是字符串
d3['青云门']='道玄'
print(d3)
#输出结果:{'青云门': '道玄', '鬼王宗': '碧瑶', '炼血堂': '野狗'}
#key是一个字符串,value是一个列表
d3['鬼王宗']=['鬼王','青龙']
print(d3)
#输出结果:{'青云门': '道玄', '鬼王宗': ['鬼王', '青龙'], '炼血堂': '野狗'}
#key是一个字符串,value是一个字典
d3['炼血堂']={'堂主':'血老大','喽啰':'野狗'}
print(d3)
#输出结果:{'青云门': '道玄', '鬼王宗': ['鬼王', '青龙'], '炼血堂': {'堂主': '血老大', '喽啰': '野狗'}}
#setdefault#如果青云门(key)已存在,则不会在已有的key上添加value的数据
d3.setdefault('青云门','田不易')#代码什么都不做
print(d3)
#若key不存在,则新增一个数据
d3.setdefault('合欢宗','金瓶儿')
print(d3)
#输出结果:{'青云门': '道玄', '鬼王宗': ['鬼王', '青龙'], '炼血堂': {'堂主': '血老大', '喽啰': '野狗'}, '合欢宗': '金瓶儿'}
#2.查询数据
#通过key直接查询value值
print(d3['鬼王宗'])
#输出结果:['鬼王', '青龙']
print(d3.get('炼血堂'))
#输出结果:{'堂主': '血老大', '喽啰': '野狗'}
#循环遍历key值
for x in d3:
print("---->",x,':',d3.get(x))
'''
输出结果:
----> 青云门 : 道玄
----> 鬼王宗 : ['鬼王', '青龙']
----> 炼血堂 : {'堂主': '血老大', '喽啰': '野狗'}
----> 合欢宗 : 金瓶儿
'''
#查询字典的key值
print(d3.keys())
#输出结果:dict_keys(['青云门', '鬼王宗', '炼血堂', '合欢宗'])
#查询字典中所有的value值
print(d3.values())
#输出结果:dict_values(['道玄', ['鬼王', '青龙'], {'堂主': '血老大', '喽啰': '野狗'}, '金瓶儿'])
#查询字典中所有item【键值对】值
print(d3.items())
#输出结果:dict_items([('青云门', '道玄'), ('鬼王宗', ['鬼王', '青龙']), ('炼血堂', {'堂主': '血老大', '喽啰': '野狗'}), ('合欢宗', '金瓶儿')])
#循环遍历keys
for x in d3.keys():
print(x,'--->',d3.get(x))
'''
输出结果:
与循环遍历key值作用相同
青云门 ---> 道玄
鬼王宗 ---> ['鬼王', '青龙']
炼血堂 ---> {'堂主': '血老大', '喽啰': '野狗'}
合欢宗 ---> 金瓶儿
'''
#循环遍历 键值对
for k,v in d3.items():
print(k,'--itmes--',v)
'''
输出结果:
青云门 --itmes-- 道玄
鬼王宗 --itmes-- ['鬼王', '青龙']
炼血堂 --itmes-- {'堂主': '血老大', '喽啰': '野狗'}
合欢宗 --itmes-- 金瓶儿
'''
#3.修改数据
d3['青云门']='田不易'
print(d3)
#输出结果:{'青云门': '田不易', '鬼王宗': ['鬼王', '青龙'], '炼血堂': {'堂主': '血老大', '喽啰': '野狗'}, '合欢宗': '金瓶儿'}
#拓展:成员运算符 “in”
print('鬼王宗' in d3)#判断指定的数据是否包含在字典的key中
#输出结果:True
#删除数据
#删除一个指定key值的键值对
d3.pop('炼血堂')
print(d3)
#输出结果:{'青云门': '田不易', '鬼王宗': ['鬼王', '青龙'], '合欢宗': '金瓶儿'}
#随机删除一个
print(d3.popitem())
print(d3)
#清空字典
d3.clear()
print(d3)