python内蔵関数zip,map,三元,lambda式

8284 ワード

#    zip(),        (   )         tuple  ,  zip       ,;
#
#   zip()               ,   zip()              ;
list_t1= [1,2,3]
list_t2 =['apple','orange','banana']
list_t3 = [50,60,70,80]
list_t4 = (500,600,700,800)

list_z1 = zip(list_t1,list_t2)
list_z2 = zip(list_t1,list_t2,list_t3)
list_z3 = zip(list_t1,list_t3)
list_z4 = zip(list_t1,list_t3)
list_z5 = zip(list_t1,list_t4)

print(type(list_z1)) #
print(list(list_z1)) #[(1, 'apple'), (2, 'orange'), (3, 'banana')]
print(list(list_z2)) #[(1, 'apple', 50), (2, 'orange', 60), (3, 'banana', 70)]
print(list(list_z3)) #[(1, 50), (2, 60), (3, 70)]
print(list(list_z5)) #[(1, 500), (2, 600), (3, 700)]

#          
dict_from_list = dict(zip(list_t1,list_t2))
print(dict_from_list) #{1: 'apple', 2: 'orange', 3: 'banana'}

#map()                ;
#   map(func,iter,....),    iter;
#    :                  ,          iter    ;
#      ,         ,         ;
def squ_minus1(number):
 return number ** 2 - 1
tuple_test =(1,2,3,4)
print(type(map(str,tuple_test)))  #,      ;
print(list(map(str,tuple_test)))  #          list  for    ;
for v in map(str,tuple_test):
 print(v)

print(list(map(float,tuple_test))) #[1.0, 2.0, 3.0, 4.0]
print(list(map(squ_minus1,tuple_test))) #[0, 3, 8, 15]  ,       

#
#    :          ,         ,   if else;
digtal1,digtal2 = 1,2
if digtal1 > 2:
 print(digtal1)
else:
 print(digtal2)
#========\\
print(digtal1 if digtal1 > digtal2 else digtal2)  #    if else         ;
#           
l = [1,2,3,10,20,30]
#        
l_temp=[]
for i in l:
 if i >= 10:
  l_temp.append(i ** 2)
print(l_temp)
#          
print(list(v ** 2 for v in l if v >= 10))

#lambda    ;
#lambda         。                。 ,         ,  def          。
#                   ,    lambda   ;
#     :  ,     ,      ,‘:’         ,lambda             ;
#if for print       lambda ,  lambda        ;
def xsqy(x,y,z):
 print(x ** y - z)
#
xsqy = lambda x,y,z :x ** y - z  #xsqy         ,     ‘=’          ;
print(xsqy(2,3,1))
#   
keys = [1,2,3,4]
x = [k for k in keys]
y = [k ** k for k in keys]
z = [k**3 for k in range(10) if k < 5]
print(x)
print(y)
print(z)