布尔型TrueFalsebool字符申、元组届丁不可变序列,不可以通过X[1]方式修改元素值,列表是可
变序列Python是基丁值的内存管理方式,两个变量分别赋值为两个可变对象,值即
便相同,也会有两个可变对象存在。而对丁不可变对象,由素的移动,速度慢序列对象在内存中的起始地址是不改变的,仅仅是被改变值的元素地址发生变化a=[1,2,3]b=[1,2,4]id(a[0])==id(b[0])Truea=[1,3,5]a=a*3a=[1,3,5,1,3,5,1,3,5]
x=[[None]*2]*3x=[[N,N],[N,N],[N,N]]删除列表中指定元素的所有重复(从尾部开始)
〔1〕x=[1,2,1,2,1,1,1]foriinx[::-1]:
ifI==1:
(i)
〔2〕foriinrange(len(x)-1,-1,-1):
切片操作原地修改列表内容
切片适用丁列表、元组〔仅用丁访问,不适用丁修改〕、字符申[::]左闭右开step
步长省略时可以顺便省略最后一个冒号
a=[0,1,2,3,4,5]
a[::2]=[0]*(len(a)//2)
a=[0,1,0,3,0,5]切片返回的是列表元素的浅copy,不同丁列表对象直接赋值al=[3,5,7]al=blid(al)==id(bl)Trueal=[3,5,7]bl=al[::]id(al)==id(bl)False迭代对象遍历一遍即结束a=[1,2]b=[1,2,3]a<bTrue如果要创建只包含一个元素的元组,需要在元素后面加一个逗号
a^3)a3a=(3,)a(3,)元组的访问和处理速度比列衣快,也更安全元组中元素的值不可改变,但元组中可变序列的元素的值可以改变
x=([1,2],3)x[0][0]=5x([5,2],3)x[0]=x[0]+[5]error序列解包——同时对多个变量进行赋值
x,y,z=1,2,3print(x,y,z)123
keys=['a','b','c']values=[1,2,3]
fork,vinzip(keys,values):
print(k,v)a1b2c3生成器推导式的结果是生成器对象,而不是列表,也不是元组,当所有元素访问结束后,如果需要重新访问其中的元素,必须重新创建该生成器对象字典是”键值”对的无序可变序歹U,{keys:valueskeys:values}字典中的键是任意的不可变〔为了安全性〕数据〔字符申、数字、元组〕,
keys不允许重复,values允许重复创建字典
keys=['a','b','c']values=[1,2,3]print(dict(zip(keys,values))){'c':3,'b':2,'a':1}字典元素的访问:1)通过下标的方式Dict[keys]2),指定键不存在,默认返回None
keys=[1,2,3]values=['a','b','c']d=dict(zip(keys,values))
(1)'a'(4)(4,'d')'d'以指定键为下标为字典元素赋值时,假设’键’存在,则修改’值’,’键’不存在,则创建新的’键值’对统计字符申中每个元素的出现次数z'mlSXvqBIMa'>>
Python程序设计要点整理 来自淘豆网m.daumloan.com转载请标明出处.