Python学习笔记2
复制
l = [1,2,3 ]
l1 = [l,4,5,6]
import copy
l2 = copy.copy(l1) #浅层复制,其中l指向同一位置
l3 = copy.deepcopy(l1) #深层复制,将l复制到新空间
l1[0][0] = 999
l2[0][0] = 999
l3[0][0] = 1
字符串引号用法
a = '''Dear qwj:
you are a silly man
good bye''' #a输出的是输入原样
b=r"qwj\nis 17 old\n" #r保留转义符,多用于绝对路径
字符串应用
a = "1234"
a[0] = 999 #出现typeerror
a=a.replace("1","999",1) #正确修改方法,若没有加第三个参数则默认将所有“1”都替换位“999”
b=a+"abc" #b="1234abc"拼接
b=a[:]+"abc" #b="1234abc
l=['a','b','c']
c='!'.join(l) #将列表中的字符通过!为分隔符连接到一起形成一个字符串 c=a!b!c
l=c.split('!') #以!标志将字符串分裂成列表 l=['a','b','c']
d='...{0}...{1}...'.format('qwj',17) #d='...qwj...17...' 格式化
d='...{name}...{age}...'.format(name='qwj',age=17) #format中也可放列表
e='%s=%sand %s'%('qwj',17,[1,2]) #e='qwj=17and [1,2]'
列表与字典
-
列表的索引和分片都是在原位置修改,而字符串,元祖都不可在原位置修改
-
切片赋值是依次传入列表中的元素,索引赋值直接传入列表
-
append和sort函数都是原位置修改函数,但是都没有返回值,因此当l=l.append()时会丢失整个列表,而sorted,reversed有返回值,所以应该写成l=list(sorted(l)).
-
字典的键值可以是字符串或元祖,元祖多用于坐标表示
l=[1,2,3,4]
for x in L:print(x) #依次输出L中的数字
l.extend(I) #I为可迭代对象
l.append(I) #I为要加入的元素,一次只能在最末尾加一个,原位置修改
l+[I] #生成新的列表
l[i:j]=[4,5,6] #删除[i:j)的内容,将【4,5,6】放到以i开始的地方
L=list(map(function,I)) #map(函数,可迭代对象)返回一个可迭代对象地址,list将此可迭代对象打散成列表
#字典
d=dict(name='qwj',age=17)
d=dict(zip(keylist,vallist))
d={'cto':{'name':'qwj','age':17}} #字典嵌套
d['cto']['name']=='qwj'
d[key]#返回key所对应的val
d.items() #返回所有键值对
del d[key] #删除条目
d.update(key:val) #若字典中没有此键则添加此条目,否则更新原来的条目
d={}
d.fromkeys(['a','b'],0) #字典初始化,要先定义一个空字典
d={k:v for (k,v) in zip(keylist,vallist)} #字典推导

浙公网安备 33010602011771号