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))
View Code

2. format格式,位置方式

#/usr/bin/env python3

name='abc'
age=15

msg="""
------------------
name:      {0}
age:       {1}
==================
"""
print(msg.format(name,age))
View Code

3. format格式, 参数方式

#/usr/bin/env python3

name='abc'
age=15

kwargs={'name':name,'age':}

msg="""
------------------
name:      {name}
age:       {age}
==================
"""
print(msg.format(**kwargs))
View Code

 

 

浅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')]

 

 

posted @ 2018-03-25 09:17  EngineTang  阅读(157)  评论(0编辑  收藏  举报