张拽拽

导航

小的面试题

  • 如何用一行代码生成[1,4,9,16,25,36,49,64,81,100]
l = [i **2 for i in range(1,11)]
print(l)
  • and:前后为真才为真
    or:有一为真就为真
    优先级:()>not>and>or
    同等优先级下,从左向右

    v1 = 1 or 3  
    v2 = 1 and 3 
    v3 = 0 and 2 and 1 
    v4 = 0 and 2 or 1 
    v5 = 0 and 2 or 1 or 4 
    v6 = 0 or Flase and 1   
    1
    3
    0
    1
    1
    False
  • 高阶函数:map()

  根据函数对指定序列做映射
  map()函数接收两个参数,一个是函数,一个是可迭代对象,map将传入的函数依次作用到序列的每个元素,并把结果返回
  返回值:
    (Python2 返回列表  Python3 返回迭代器)
  

  1. 想得到一个:[1, 4, 9, 16, 25]的列表
def mul(x):
    return x*x
n=[1,2,3,4,5]
res=list(map(mul,n))
print(res)
  1. 想要得到[-1,-5,6,-7]返回数字的绝对值
res1 = map(abs,[-1,-5,6,-7])
print(list(res1))

    

posted on 2018-12-27 14:08  张拽拽  阅读(105)  评论(0编辑  收藏  举报