一、数据结构
python中提供了4个内置数据结构:列表、元组、字典、集合
1.其中有2个有序的集合数据结构为:列表和元组
列表:有序且可变的对象集合,每一个元素从0开始编号,可以通过增加、修改、删除对象对列表进行修改
元组:有序不可变的对象集合,每一个元素从0开始编号,是一个常量列表,一旦向一个元组赋对象,就不能改变
2.无序的数据结构:字典
字典:无序的键\值对集合,字典是无序可变的
3.避免重复的数据结构:集合
集合:无序可变的唯一对象集合,其中的对象不会重复,且可以完成交集、并集和差集的操作,也可以根据需要扩展和收缩
二、列表的增删改查
1.创建:
1)列表里的对象是异构的,可以是整数、字符串、浮点数(带引号的都是字符串)
stus = ['王月',12,'宋雪艳',12.1,'王何','12']
2)字符串转为list 强转
s = '王月、张娜、宋雪艳、刘姐、王何、程月香'
print(list(s))
运行结果:
['王', '月', '、', '张', '娜', '、', '宋', '雪', '艳', '、', '刘', '姐', '、', '王', '何', '、', '程', '月', '香']
2.扩展(新增)
1)append(元素):入参为元素,默认再列表尾部新增一个元素,入参为空表示什么也不做
stus = ['王月','张娜','宋雪艳','刘姐','王何','程月香']
stus.append('唐玉亮')
print(stus)
运行结果:
['王小月', '徐静', '张娜', '宋雪艳', '刘姐', '王何', '程月香', '唐玉亮']
2)extend(x):X为一个列表,默认再列表尾部新增一个列表,入参为空[]表示什么也不做,跟append类似
stus = ['王月','张娜','宋雪艳']
stus.extend(['MLing',1,12.11])
print(stus)
运行结果:
['王小月', '张娜', '宋雪艳', 'MLing', 1, 12.11]
3)inserd(x,y):x为下标,y为元素表示再x处增加元素y
stus = ['王月','张娜','宋雪艳','刘姐','王何','程月香'] #下标、角标、索引
stus.insert(1,'徐静')
print(stus)
运行结果:
['王小月', '徐静', '张娜', '宋雪艳', '刘姐', '王何', '程月香']
3.收缩(删除)1)remove(X):X为元素,删除列表中的元素x,注意x不存在时会报错
stus = ['王月','张娜','宋雪艳']
stus.remove('王月')
print(stus)
运行结果:
['张娜', '宋雪艳']
2)pop(x):x为下标,不传入参的时候,默认弹出列表的最后一项
stus = ['王月','张娜','宋雪艳']
stus.pop(1)
print(stus)
运行结果:
['王月', '宋雪艳']
3)dle name[x]:列表是列表名,x是下标
stus = ['王月','张娜','宋雪艳']
del stus[0]
print(stus)
运行结果:
['张娜', '宋雪艳']
4)name.clear():name是列表名,表示清空列表
stus = ['王月','张娜','宋雪艳']
stus.clear()#清空列表
print(stus)
运行结果:
[]
4.修改
stus = ['王月','张娜','宋雪艳','刘姐','王何','程月香'] #下标、角标、索引
stus[0] = '王小月'
print(stus)
运行结果:
['王小月', '张娜', '宋雪艳', '刘姐', '王何', '程月香']
5.查询
stus = ['王月','张娜','宋雪艳','刘姐','王何','程月香'] #下标、角标、索引
stus[0] = '王小月'
print(stus[0])
运行结果
王小月
三、列表的常用方法1.copy
# print(l2.count(1))
# print(l2.index(77))#找下标
# l2.sort(reverse=True)
# # print(l2)
# l3 = l2.copy()#复制一个list
# l2.extend(stus)
# print(l2)
# stus.sort()
# stus.copy()
# stus.extend() #合并两个list
# stus.reverse()