python tip: 格式化 深浅copy sorted
输出格式化
1.%s格式
1 name='abc' 2 age=15 3 4 msg=""" 5 ------------------ 6 name: %s 7 age: %s 8 ================== 9 """ 10 print(msg%(name,age))
2. format格式,位置方式
#/usr/bin/env python3 name='abc' age=15 msg=""" ------------------ name: {0} age: {1} ================== """ print(msg.format(name,age))
3. format格式, 参数方式
#/usr/bin/env python3 name='abc' age=15 kwargs={'name':name,'age':} msg=""" ------------------ name: {name} age: {age} ================== """ print(msg.format(**kwargs))
浅copy ,copy的是地址
列表保存的是所存一组地址,地址指向内容
当b直接赋值时,b中的地址改变,故a未变
a=[11,[22,33],44] b=a[:] b[0]=111 b[1]=[3] print(a)
当b操作a中子列表时,操作的同一个地址,故a改变
a=[11,[22,33],44] b=a[:] b[1][0]=2222 print(a)
深copy ,复制了值,不影响a
import copy a=[11,[22,33],44] b=copy.deepcopy(a) b[1][0]=2222 print(a)
排序 sorted
>>> d={'a':'zz','b':'yy'}
>>>
>>>
>>> sorted(d)
['a', 'b']
>>> sorted(d.items())
[('a', 'zz'), ('b', 'yy')]
>>> sorted(d.items(),key=lambda x:x[1])
[('b', 'yy'), ('a', 'zz')]
>>>new_d=sorted(d.items(),key=lambda x:x[1],reverse=True)
[('a', 'zz'), ('b', 'yy')]

浙公网安备 33010602011771号