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 = kvpskvps[‘1‘] = 5sum = 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] = 1addone(‘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 = 0for ls in (names1,names2,names3):    if ls[0] == ‘Alice‘:        sum += 1    if ls[1] == ‘Bob‘:        sum += 10print(sum)

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

11、

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

12、

x = Truey = Falsez = Falseif 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 listlist1 = 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原因同上

 

 

原文地址:https://www.cnblogs.com/fenglin0826/p/8442480.html

时间: 2024-07-30 08:17:14

python笔试题1-21的相关文章

python笔试题42-69

42.如何在Python中拷贝一个对象,并说明他们之间的区别    答:Python中有两种拷贝方式,深拷贝与浅拷贝 浅拷贝:用赋值符号(=)即可,内存地址公用,一个改复制对象全都改 深拷贝:用copy模块下的deepcopy方法,每一个拷贝对象都是独立的内存地址 43.谈谈你对Python装饰器的理解 答:装饰器是一个内嵌函数 他能不改变原函数代码的情况下增加其装饰函数的功能 44.Python里的match()与search()区别 答:match是从字符串第一位开始匹配,若第一位不同则找不

传说中的华为Python笔试题——两等长整数序列互换元素,序列和的差值最小(修正)

有两个序列a,b,大小都为n,序列元素的值任意整形数,无序:要求:通过交换a,b中的元素,使[序列a元素的和]与[序列b元素的和]之间的差最小. 1. 将两序列合并为一个序列,并排序,得到sourceList2. 拿出最大元素Big,次大的元素Small3. 在余下的序列S[:-2]进行平分,得到序列max,min4. 将Small加到max序列,将Big加大min序列,重新计算新序列和,和大的为max,小的为min. 如下,提供递归版本和迭代版本的解体思路: #!/usr/bin/env py

python笔试题(-)

1.如何查看占用8080端口的是什么进程? netstat –apn | grep 8080 2.DNS解析过程是怎样的?有几种解析方式,各自的区别是什么? 1) 浏览器缓存 当用户通过浏览器访问某域名时,浏览器首先会在自己的缓存中查找是否有该域名对应的IP地址(若曾经访问过该域名且没有清空缓存便存在): 2) 系统缓存 当浏览器缓存中无域名对应IP则会自动检查用户计算机系统Hosts文件DNS缓存是否有该域名对应IP: 3) 路由器缓存 当浏览器及系统缓存中均无域名对应IP则进入路由器缓存中检

python笔试题(三)

1.MySQL有哪些存储引擎,优化MySQL数据库的方法有哪些? MySQL支持的存储引擎有MyISAM,InnoDB,Memory,CSV,Archive 创建索引,使用复合索引,使用短索引,不在列上进行运算,不使用NOT IN操作,不在包含有NULL值得列上加索引 2.WEB开发中session与cookie的作用与区别? cookie通过在客户端记录用户身份的信息,session通过在服务端记录用户身份信息 cookie机制:理论上一个用户的所有请求都应该属于一个会话,由于web程序应用是

C/C++ 笔试题

/////转自http://blog.csdn.net/suxinpingtao51/article/details/8015147#userconsent# 微软亚洲技术中心的面试题!!! 1.进程和线程的差别. 线程是指进程内的一个执行单元,也是进程内的可调度实体.与进程的区别:(1)调度:线程作为调度和分配的基本单位,进程作为拥有资源的基本单位(2)并发性:不仅进程之间可以并发执行,同一个进程的多个线程之间也可并发执行(3)拥有资源:进程是拥有资源的独立单位,线程不拥有系统资源,但可以访问

Python 的笔试题

其实大多数说学习Python 是纯兴趣,真的我不信,许多人已经工作了,没有那么多时间搞自己的纯兴趣了,都会为了生活奋斗,可以说转行来学python 就是未来加薪,当然,小编现在也快要准备工作了,所以也开始准备笔试,面试. 所以为了充实自己,小编决定写自己见到的笔试题和面试题.可能要写好长时间,一时半会写不了多少,只能说遇到多少写多少吧,但是只要小编有时间,会持续上传. 2017.9.6 问题一:以下代码将输出什么? list = ['a', 'b', 'c', 'd', 'e'] print l

2018春招-今日头条笔试题-第三题(python)

题目描述:2018春招-今日头条笔试题5题(后附大佬答案-c++版) 解题思路: 本题的做法最重要的应该是如何拼出'1234567890',对于输入表达试获得对应的结果利用python内置函数eval()即可以实现.利用5个字符串来表达'1234567890',如下(为了好看,里面加了tab空格符) '66666 ....6 66666 66666 6...6 66666 66666 66666 66666 66666''6...6 ....6 ....6 ....6 6...6 6.... 6

python 饥饿的小易(网易笔试题)

本周早些时候,学弟给我发了一道网易的笔试题,饥饿的小易,感觉有点意思-分享给大家 题目描述: 小易总是感觉饥饿,所以作为章鱼的小易经常出去寻找贝壳吃.最开始小易在一个初始位置x_0.对于小易所处的当前位置x,他只能通过神秘的力量移动到 4 * x + 3或者c.因为使用神秘力量要耗费太多体力,所以它只能使用神秘力量最多100,000次.贝壳总生长在能被1,000,000,007整除的位置(比如:位置0,位置1,000,000,007,位置2,000,000,014等).小易需要你帮忙计算最少需要

python最新笔试题

这是笔者面试小十家公司后呕心沥血总结的一些笔试编程题~具体公司就不透露了.哎,说多了都是泪啊. 1.二分法查找: l = [1, 2, 3, 4, 5, 6, 7, 8, 9] find_num = int(input('请输入一个数字:')) start = 0 end = len(l) - 1 while True: middle = (start + end) // 2 if find_num == l[middle]: print('找到了!索引是:', middle) break el