一、浅拷贝与深拷贝
import copy
l1= [ 2 , 1 ]
l2= l1
l3= l1[ : ]
print ( l1, l2, l3)
l1[ 0 ] = 5
print ( l1, l2, l3)
l1= [ [ 1 , 2 ] , [ 3 , 4 ] ]
l2= l1
l3= l1[ : ]
l4= l1[ : ] [ : ]
l5= copy. deepcopy( l1)
l1[ 0 ] [ 0 ] = 9
print ( l1, l2, l3, l4, l5, sep= " @ " )
输出:[ 2 , 1 ] [ 2 , 1 ] [ 2 , 1 ]
[ 5 , 1 ] [ 5 , 1 ] [ 2 , 1 ]
[ [ 9 , 2 ] , [ 3 , 4 ] ] @ [ [ 9 , 2 ] , [ 3 , 4 ] ] @ [ [ 9 , 2 ] , [ 3 , 4 ] ] @ [ [ 9 , 2 ] , [ 3 , 4 ] ] @ [ [ 1 , 2 ] , [ 3 , 4 ] ]
二、元组解压
t= 1 , 2 , 3 , 4 , 5
a, * b, c= t
print ( a, b, c)
s= [ 1 , 2 , 3 , 4 , 5 ]
a, * b, c, d= s
print ( a, b, c, d)
输出:1 [ 2 , 3 , 4 ] 5
1 [ 2 , 3 ] 4 5
三、字符串
str4= '1101'
print ( str4. ljust( 8 , '0' ) )
print ( str4. rjust( 8 , '0' ) )
str5= '-123456-'
print ( str5, str5. strip( '-' ) , str5. strip( '3' ) , str5. lstrip( '-' ) , sep= '\n' )
str6= '12345678'
( pre_sub, sub, fol_sub) = str6. partition( '3456' )
pre_sub, sub, fol_sub
str8 = "{0} Love {1}" . format ( 'I' , 'Lsgogroup' )
str8 = "{a} Love {b}" . format ( a= 'I' , b= 'Lsgogroup' )
str8 = "{0} Love {b}" . format ( 'I' , b= 'Lsgogroup' )
str8 = '{0:.2f}{1}' . format ( 27.658 , 'GB' )
print ( str8)
'''
辅助指令:
m.n:m是显示的最小总宽度,n是小数点后的位数
-:左对齐
+:正数显示加号
#:八进制、十六进制添加前缀
0:在显示的数字前面填充0
'''
输出:11010000
00001101
- 123456 -
123456
- 123456 -
123456 -
27. 66GB
四、字典
seq= ( 'name' , 'age' , 'sex' )
dic1= dict . fromkeys( seq)
print ( dic1)
dic2= dict . fromkeys( seq, ( 'tt' , '8' ) )
dic2
输出:{ 'name' : None , 'age' : None , 'sex' : None }
{ 'name' : ( 'tt' , '8' ) , 'age' : ( 'tt' , '8' ) , 'sex' : ( 'tt' , '8' ) }
五、集合
a= set ( ( "4323213232" , "213" , "213" ) )
print ( a)
a= set ( 'abcde' )
b= set ( 'bcdef' )
print ( a- b)
a= frozenset ( a)
a= a^ b
print ( a)
输出:{ '213' , '4323213232' }
{ 'a' }
frozenset ( { 'a' , 'f' } )
六、其他
t = ( { "age" : 20 , "name" : "a" } , { "age" : 25 , "name" : "b" } , { "age" : 10 , "name" : "c" } )
x = sorted ( t, key= lambda a: a[ "age" ] )
x
a = [ 1 , 2 , 3 ]
b = [ 4 , 5 , 6 , 7 ]
z = zip ( a, b)
a, b= map ( list , zip ( * z) )
a
输出:[ 1 , 2 , 3 ]