• python基础复习突击面试(1)


    1、map()是 Python 内置的高阶函数,它接收一个函数 f 和一个 list,并通过把函数 f 依次作用在 list 的每个元素上,得到一个新的 list 并返回。
    例:
    def f(x):
    return x*x
    print map(f, [1, 2, 3, 4, 5, 6, 7, 8, 9])
    输出结果:[1, 4, 9, 10, 25, 36, 49, 64, 81]
    2、对列表进行求和排序,是list1.sort( ),注意排序后列表本身就被改变了,不需要再赋值给一个变量,sum(list1)得到列表中每个元素的求和值
    3、对list1[1,2,3,4,5]的偶数位置的元素进行加3,最后求和。
    >>> p=sum(map(lambda x:x+3,list1[1::2]))
    >>> print p
    4、对list1=[-2,-1,3,4]的绝对值进行排序
    >>> sorted(list1,key=abs)
    [-1, -2, 3, 4]
    5、闭包:内部函数可以使用外部函数变量的行为。
    例:https://www.cnblogs.com/ChrisChen3121/p/3208119.html
    def foo():
    m=3
    n=5
    def bar():
    a=4
    return m+n+a
    return bar
    6、Python中的变量作用域:local-gloabl-enclosed(闭包)-bulit_in
    # local namespace: 作用范围为当前函数或者类方法
    # global namespace: 作用范围为当前模块
    # build-in namespace: 作用范围为所有模块
    7、一行代码生成 [1,4,9,16,25,36,49,64,81,100],使用列表生成式,[i*i for i in range(1,11)]
    8、请将 "1,2,3",变成 ["1","2","3"],使用spilt内置函数
    >>> '1,2,3'.split(',')
    ['1', '2', '3']
    9、字典元素的键不能为可变对象,比如{[1,2]:3}是错误的,而{(1:2):3}是对的,列表是可变元素,元组是不可变元素。注:但值是可变的。
    10、list 对象 alist [{'name':'a','age':20},{'name':'b','age':30},{'name':'c','age':25}], 请按 alist 中元素的age 由大到小排序;
    >>> sorted(alist,key=lambda x:x['age'],reverse=True)
    11、两个 list 对象 alist ['a','b','c','d','e','f'], blist ['x','y','z','d','e','f'],请用简洁的方法合并这两个 list,并且 list 里面的元素不能重复:
    12、>>> from math import sqrt
    >>> print sqrt(3)*sqrt(3)==3 ##打印结果应该是3.0
    False
    13、>>> type(1+2L*3.14)
    <type 'float'>
    14、代码实现:输入一个列表[0,1,2,3,4,5,6,8,9,10],输出数字是偶数,且该数字的位置也是偶数?要求输出为[0,2,6,8,10]
    #!/usr/bin/env python

    temp=[]
    def fun(list_name):
    count = len(list_name)
    for i in range(count):
    if i%2==0 and list_name[i]%2==0:
    temp.append(list_name[i])
    return temp
    list1=[0,1,2,3,5,4,6,7,8,9,10]
    print 'the answer is',fun(list1)

    15、把字典的Key-Value值翻转?
    >>> dict2={1:'a',2:'b',3:'c'}
    >>> def test(dict_name):
    ... return dict( (v,k) for k,v in dict_name.iteritems() )
    ...
    >>> test(dict2)
    {'a': 1, 'c': 3, 'b': 2}
    ## iteritems()方法是字典项生成器,紧接着是列表表达式 ##iteritems把字段的键值对放在一个列表项中,返回的是一个迭代器,通过yield的next( )方法来取值
    >>> print dict1.items() ##items()方法是将字典的每个项作为元组,然后把所有把所有元组放在一个列表容器中
    [(1, 7), (2, 8), (3, 9)]

    字典翻转的简单实现(字典生成器):
    d1 = {'name':'yhc','sex':'man'}
    def test(dict_name):
    return {v:k for k,v in dict_name.items()}
    >>> test(d2)
    {'yhc': 'name', 'man': 'sex'}

    16、python提供两个对象身份比较符,分别是is和is not;变量无需创建,但是需要赋值才能使用
    17、s='abcdefg',s[::2]='aceg',s[-2:-5]='',s[::-1]='gfedcba' ##右边最小是-1
    18、所有标准对象均能用于布尔测试,包括空字典{}、空字符串' ',空列表[]、空元组和None
    19、>>> 'abc'>'xyz'
    False
    >>> (3,2)<('a','b')
    True
    比较第一个元素的ASCII值,字符应该视为长度为1的字符串,整个元组可以作为字典的key,而列表是不行的
    20、min和max都是内置函数,不能单独作为变量存在。while True: pass是正确的语法

     此篇文章,还有32道题目,在我的面经中,详情看下面。

    我会持续更新面试题目,包括linux,前端(vue,jquery,css)、python、mysql和redis的面经题目,后期加入golang。可以加我qq 2093905919或者微信 18828004657,跟我聊聊。(注:可以分享一部分面试题目,觉得可以的话,剩下的全部面试题目(多年经验,非常多而广的题目,适合突击面试复习,适合运维工程师,python工程师,运维开发,甚至前端开发(vue,asp,jquery)等等),需要打赏200元,绝对物超所值)

  • 相关阅读:
    PCL点云
    unity碰撞,刚体笔记
    动画剪辑 状态配置 脚本编写2
    unity中动画剪辑,状态机关系配置,脚本编写方式1
    unity给物体着色加纹理图 material(材质)
    C++/Java小白解Leetcode题,发现了知识盲区……
    NLP之统计句法分析(PCFG+CYK算法)
    Java:基于TCP协议网络socket编程(实现C/S通信)
    Java实现:抛开jieba等工具,写HMM+维特比算法进行词性标注
    Java多线程技术:实现多用户服务端Socket通信
  • 原文地址:https://www.cnblogs.com/yue-hong/p/13023936.html
Copyright © 2020-2023  润新知