• python笔试题1-21


    1、如何实现对python列表去重并保持原先顺序

    答:再创建一个列表,依次循环原列表元素并判断,若当前元素不在新建列表中,则添加即可

    2、现在有两个元组(('a'),('b')),(('c'),('d')),请使用python中匿名函数,生成列表[{'a':'b'},{'c':'d'}]

    答:

    #答案一
    test = lambda t1,t2 :[{i:j} for i,j in zip(t1,t2)]
    print(test(t1,t2))
    #答案二
    print(list(map(lambda t:{t[0]:t[1]},zip(t1,t2))))
    #还可以这样写
    print([{i:j} for i,j in zip(t1,t2)])

    3、请给出二分查找的python示例代码

    答:

      

    def recursion_search(data_source, find_n):
    mid = len(data_source) // 2
    if len(data_source) >= 1:
    if find_n > data_source[mid]:
    recursion_search(data_source[mid + 1:], find_n)
    elif find_n < data_source[mid]:
    recursion_search(data_source[:mid], find_n)
    else:
    print(data_source[mid])
    else:
    print("not found !")

    4、在python字符串格式化中,%与.format的主要区别

    答:%中如果传数字,必须指定类型,而format不用

    5、*args,**kwargs在什么情况下会用到,请举例**kwargs应用

    答:*args,**kwargs一般用于函数传多个值,

      **kwargs示例def x(**kwargs):

              return kwargs

            x(a=1)

    6、x = 'foo'

      y = 2

      print(x+y)

      A.foo B.foo foo C.foo 2 D. an exception throw

    7、

    kvps = {'1':1,'2':2}
    theCopy = kvps
    kvps['1'] = 5
    sum = kvps['1'] + theCopy['1']
    print(sum)

    A.1 B.2 C.7 D.10

    8、sys.path.append('/root/mods')

      A.改变python启动路径 B.改变python当前工作目录  C.添加一个新的python模块搜索路径  D.从mods中移除所有文件夹

    9、

    country_counter = {}

    def addone(country):
    if country in country_counter:
    country_counter[country] += 1
    else:
    country_counter[country] = 1
    addone('China')
    addone('Japan')
    addone('china')
    A.0 B.1 C.2 D.3 E.4

    10、

    names1 = ['Amir','Barry','Chales','Dao']
    names2 = names1 #['Alice','Barry','Chales','Dao']
    names3 = names1[:]
    names2[0] = 'Alice'
    names3[1] = 'Bob'#['Alice','Bob','Chales','Dao']
    sum = 0
    for ls in (names1,names2,names3):
    if ls[0] == 'Alice':
    sum += 1
    if ls[1] == 'Bob':
    sum += 10
    print(sum)

    A.11 B.12 C.21 D.22 E.33

    11、

    d = lambda p:p*2
    t = lambda p:p*3
    x= 2
    x = d(x)
    x = t(x)
    x =d(x)
    print(x)
    答:x = 24

    12、

    x = True
    y = False
    z = False
    if x or y and z:
    print('yes')
    else:
    print('no')
    答:yes (and优先级大于or)

    13、

    python中如何实现touple与list转换

    答:touple(list)->touple     list(touple)->list

    14、

    请写出一段代码实现删除一个列表里重复的元素

    答:

    nl = []
    for i in l:
    if i in nl:
    continue
    nl.append(i)

    15、如何得到列表list的交集与差集

      答:list=l1&l2

        list=l1-l2

    16、以下代码会输出什么

    def ex(val,list=[]):
    list.append(val)
    return list
    list1 = ex(10)
    list2 = ex(123,[])
    list3 = ex('a')
    print(list1,list2,list3)
    答:[10, 'a'] [123] [10, 'a']

    17、python中如何书写可变参数和关键字参数

      答:可变参数要写在关键字参数后面

    18、什么是lambda表达式

      答:lambda函数是一个可以接收任意多个参数(包括可选参数)并且返回单个表达式值的函数

    19、re的match与search有什么区别

      答:match会从头开始匹配,头部不一样则失败,search会全文匹配

    20、1 or 2 与 1 and 2 分别输出什么,为什么

      答:输出1,2   

    #python 中的and从左到右计算表达式,若所有值均为真,则返回最后一个值,若存在假,返回第一个假值

    21、1 < (2 == 2)与1 < 2 == 2 输出什么,为什么

      答:flase,True原因同上

     

     
  • 相关阅读:
    Android实战技巧之四十九:Usb通信之USB Host
    Netty in Action (七) 第三章节 Netty组件和设计
    打造敏捷的自组织团队
    Cocos2d-x移植到Android平台编译的两个文件Android.mk和Application.mk
    Codeforces Round #306 (Div. 2) (ABCE题解)
    事情非常重要却总不想開始怎么办
    <html>
    Android中Activity与Task相关的属性解析
    大话设计模式—策略模式
    android hander怎样避免内存泄露
  • 原文地址:https://www.cnblogs.com/fenglin0826/p/8442480.html
Copyright © 2020-2023  润新知