序列
序列是python最基本的数据结构
可变序列:列表
不可变序列:字符串、元组
列表基本操作
注意列表的下标不要越界,从0开始
列表的索引可以为负数,但是复数从后往前取
my_list=[1,2,3,[34,5,3,53,3],334,3]
print(my_list)
print(my_list[4])
切片
从已有列表中获取一个子列表,切片赋值必须用序列
my_list=[1,2,3,[34,5,3,53,3],334,3]
my_list=my_list[0:2]
print(my_list)
查询列表中是否含有指定元素
my_list=[1,2,3,334,3]
print(1 in my_list)
列表的修改
my_list=[1,2,3,334,3]
my_list[3]=22#序列的修改
del my_list[0]#序列的删除
my_list[1:2]=['孙悟空','猪八戒','唐僧']#通过切片修改一组元素
print(my_list)
列表的遍历
while
my_list=[1,2,3,334,3]
i=0
while i<len(my_list):
print(my_list[i])
i=i+1
for
my_list=[1,2,3,334,3]
i=0
for i in my_list:
print(i)
基本函数
len(列表长度)
my_list=[1,2,3,[34,5,3,53,3],334,3]
print(len(my_list))
min(列表最小值)
my_list=[1,2,3,334,3]
print(min(my_list))
max(列表最小值)
my_list=[1,2,3,334,3]
print(max(my_list))
index(获取元素在列表的位置,没有的元素会抛出异常)
my_list=[1,2,3,334,3]
print(my_list.index(1))
count(获取元素在列表的个数)
my_list=[1,2,3,334,3]
print(my_list.count(3))
append(最后位置添加元素)
my_list=[1,2,3,334,3]
my_list.append('dsf')
print(my_list)
insert(插入元素)
my_list=[1,2,3,334,3]
my_list.insert(2,1)
print(my_list)
extend(添加新的序列)
my_list=[1,2,3,334,3]
my_list.extend([3,4,34,2])#为my_list添加新的序列
print(my_list)
clear(清空)
my_list=[1,2,3,334,3]
my_list.clear()#为my_list添加新的序列
print(my_list)
pop(删除指定元素,根据索引,并返回元素)
my_list=[1,2,3,334,3]
print(my_list.pop(2))#为my_list添加新的序列
print(my_list)
remove(删除指定值的元素)
my_list=[1,2,3,334,3]
my_list.remove(2)#为my_list添加新的序列
print(my_list)
reverse(反转列表)
my_list=[1,2,3,334,3]
my_list.reverse()#为my_list添加新的序列
print(my_list)
sort(排序)
my_list=[1,2,3,334,3]
my_list.sort()#为my_list添加新的序列
print(my_list)
range(生成一个序列)
第一个参数起始、第二个参数终点、第三个参数步长
s=range(0,10,1)
print(list(s))
元组
数据不改变时用元组
my_tuple=(2,3,434,5)
my_tuple=2,#表示这是一个元组
print(my_tuple)
字典
d={
"name":"孙悟空",
"age":18
}
print(d['name'],d['age'])
d=dict(name='孙悟空',age=18)
print(d['name'],d['age'])
获取当前键的值
不报错
d=dict(name='孙悟空',age=18)
print(d.get('af'))
报错
d=dict(name='孙悟空',age=18)
print(d['df'])
遍历字典
d=dict(name='孙悟空',age=18)
for i in d.keys():#获取所有的key
print(i)
for i in d.values():#获取所有的val
print(i)
for i in d.items():#i为(key,value)
print(i)
for i,j in d.items():#i为key,j为value
print(i,j)
常用函数
update(添加字典,重复替换)
d=dict(name='孙悟空',age=18)
d1=dict(name="su",t=22)
d.update(d1)
print(d)
pop(通过键删除,如果没有抛出异常,可以设置默认值)
d=dict(name='孙悟空',age=18)
print(d.pop('age','我是默认值'))
print(d.pop('time','我是默认值'))
clear(清空)
d=dict(name='孙悟空',age=18)
d.clear()
print(d)
copy(对字典进行浅复制,只复制内容)
d=dict(name='孙悟空',age=18)
dd=d.copy()
dd['name']='沙和尚'
print(d)
print(dd)
集合(set)
集合是不可变对象(不能存储列表、字典),是无序的(与插入顺序无关),不能重复,不能通过索引操作集合
s1={2,33,324,3243,24324,324234,2}
s2=set([233,44334])
s3=set("slkfjasflas")
s4=set({'a':1,'b':2})#只保存key,不保存value
print(s1)
print(s2)
print(s3)
print(s4)
集合运算
s1={2,33,324,3243,24324,324234,2}
s2={1,2,2,2,3,232,32,323,23}
result=s1&s2#集合交集运算
print(result)
result=s1|s2#集合并集运算
print(result)
result=s1-s2#集合差集运算
print(result)
result=s1^s2#集合不相交的部分=(s1-s2)|(s2-s1)
print(result)
s1={1,2,3}
s2={1,2,3,4,5}
result=s1<=s2#判断s1是否是s2的子集
print(result)
s1={1,2,3}
s2={1,2,3}
result=s1<s2#判读s1是否是s2的真子集
print(result)
基本函数
使用的函数与列表、字典相同,方式也相同