1、下面代码会输出什么?

map(lambda x:x*x,[y for y in range(3)])
[, , ]

答案

2、下面代码会输出什么?

def f(x, l = [] )

  for i in range(x):

    l.append(i*i)

  print l

f(2)

f(3,[3,2,1])

f(3)

、[, ]
、[, , , , , ]
、[, , , , ]

答案

3、数是数据结构中非常重要的一种,主要的用途是用来提高效率,对于要重复查找的情况效果更佳,二叉树是其中最常见的结构之一,示例如下:

层级遍历: 0 1 2 3 4 5 6 7 8 9

先序遍历:0 1 3 7 8 4 9 2 5 6

中序遍历:7 3 8  1 9 4 0 5 2 6

后序排列:7 8 3 9 4 1 5 6 2 0

class Node(object):
def __init__(self, data, left=None, right=None):
self.data = data
self.left = left
self.right = right

r为Node类型的根节点

实现函数traverse(r)输出先序遍历结果,输出部分使用print r.data即可

node7 = Node(7)
node8 = Node(8)
node9 = Node(9)
node3 = Node(3,node7,node8)
node4 = Node(4,node9)
node5 = Node(5)
node6 = Node(6)
node1 = Node(1,node3,node4)
node2 = Node(2,node5,node6)
node0 = Node(0,node1,node2) def traverse(r):
print(r.data)
if r.left:
traverse(r.left)
if r.right:
traverse(r.right)

答案

4、有一个3G大小的文件,文件每行一个string,内容为酒店的id和一个图片的名字,使用“\t”分割

示例:ht_1023134 + "\t" + hidfadsfadsfdfadsf2r234523,jpg

表示的是一个酒店包含的一张图片,统计含有图片数量为[20,无穷大]的酒店id,含有图片数量为[10,20]的酒店id、含有图片数量为[10,5]的酒店id,含有图片数量为[0,5]的酒店id,并将结果输出到文件中

0-5 + “\t” + id1 +  “\t” + id2 + .....

5-10 + “\t” + id1 +  “\t” + id2 + .....

10-20 + “\t” + id1 +  “\t” + id2 + .....

20-无穷大 + “\t” + id1 +  “\t” + id2 + .....

from collections import Counter
count_dict = {}
cou = Counter()
with open('a.txt', encoding='utf-8') as f:
for line in f:
hotel, image = line.split()
hotel_id = hotel.split('_')[1]
cou.update({hotel_id,1})
if hotel_id in count_dict:
count_dict[hotel_id] += 1
else:
count_dict[hotel_id] = 1
del cou[1]
zero_five = ['0-5']
five_ten = ['5-10']
ten_twenty = ['10-20']
twenty_infinite = ['10-去穷大']
for hotel_id,count in count_dict.items():
if count < 5 :
zero_five.append(hotel_id)
elif count < 10 :
five_ten.append(hotel_id)
elif count < 20:
ten_twenty.append(hotel_id)
else:
twenty_infinite.append(hotel_id)
with open('b.txt','w',encoding='utf-8') as b:
b.write('\t'.join(zero_five))
b.write('\n')
b.write('\t'.join(five_ten))
b.write('\n')
b.write('\t'.join(ten_twenty))
b.write('\n')
b.write('\t'.join(twenty_infinite))

答案

												

python面试(十四)的更多相关文章

  1. 初学 Python(十四)——生成器

    初学 Python(十四)--生成器 初学 Python,主要整理一些学习到的知识点,这次是生成器. # -*- coding:utf-8 -*- ''''' 生成式的作用: 减少内存占有,不用一次性 ...

  2. Python第二十四天 binascii模块

    Python第二十四天 binascii模块 binascii用来进行进制和字符串之间的转换 import binascii s = 'abcde' h = binascii.b2a_hex(s) # ...

  3. Python第十四天 序列化 pickle模块 cPickle模块 JSON模块 API的两种格式

    Python第十四天 序列化  pickle模块  cPickle模块  JSON模块  API的两种格式 目录 Pycharm使用技巧(转载) Python第一天  安装  shell  文件 Py ...

  4. 孤荷凌寒自学python第二十四天python类中隐藏的私有方法探秘

    孤荷凌寒自学python第二十四天python类中隐藏的私有方法探秘 (完整学习过程屏幕记录视频地址在文末,手写笔记在文末) 今天发现了python的类中隐藏着一些特殊的私有方法. 这些私有方法不管我 ...

  5. 孤荷凌寒自学python第十四天python代码的书写规范与条件语句及判断条件式

    孤荷凌寒自学python第十四天python代码的书写规范与条件语句及判断条件式 (完整学习过程屏幕记录视频地址在文末,手写笔记在文末) 在我学习过的所有语言中,对VB系的语言比较喜欢,而对C系和J系 ...

  6. Python进阶(十四)----空间角度研究类,类与类之间的关系

    Python进阶(十四)----空间角度研究类,类与类之间的关系 一丶从空间角度研究类 对象操作对象属性 class A(): address = '沙河' def __init__(self, na ...

  7. selenium python (十四)上传文件的处理

    #!/usr/bin/python# -*- coding: utf-8 -*-__author__ = 'zuoanvip' #上传过程一般要打开一个系统的windows窗口,从窗口选择本地文件添加 ...

  8. Python爬虫(十四)_BeautifulSoup4 解析器

    CSS选择器:BeautifulSoup4 和lxml一样,Beautiful Soup也是一个HTML/XML的解析器,主要的功能也是如何解析和提取HTML/XML数据. lxml只会局部遍历,而B ...

  9. python六十四课——高阶函数练习题(二)

    总结:高阶函数以及匿名函数之间的配合使用 from functools import reduce #模块一:lambda和filter的结合使用 #lt = [1,2,3,4,5,6,7,8,9] ...

  10. python第二十四天-----作业终于完成啦

    作业 1, ATM:模拟实现一个ATM + 购物商城程序 额度 15000或自定义实现购物商城,买东西加入 购物车,调用信用卡接口结账可以提现,手续费5%支持多账户登录支持账户间转账记录每月日常消费流 ...

随机推荐

  1. php中0与空 Null false的区别

    <?php $test=0; if($test==''){  echo '<br />在php中,0即为空'; //被输出 } if($test===''){  echo '< ...

  2. rails 数据验证

    validates :money,      :presence => true, :numericality => {:only_integer => true}

  3. springcloud19---springCloudConfig

    Spring-cloud-config : 统一管理配置的组件,不同的环境不同的管理(连接池.数据库配置不一样).不同时间需要动态调整配置(双十一最大连接数要大). 分布式配置也可以使用config或 ...

  4. NET Framework 4.0无法安装!

    win7旗舰版无法安装CAD2012,安装NET Framework 4.0的时候就出现错误,安装NET Framework 4.0单独版也无法安装出现错误. 解决方法: 1.点击电脑桌面右下角的“开 ...

  5. bzoj2721 / P1445 [Violet]樱花

    P1445 [Violet]樱花 显然$x,y>n$ 那么我们可以设$a=n!,y=a+t(t>0)$ 再对原式通分一下$a(a+t)+ax=x(a+t)$ $a^{2}+at+ax=ax ...

  6. 20159212杨翔实验一(熟悉Java开发环境)实验报告

     实验内容 1.使用JDK编译.运行简单的Java程序: 2.使用Eclipse 编辑.编译.运行.调试Java程序. 实验步骤与体会 一.命令行下Java程序开发 1.操作过程     在虚拟环境中 ...

  7. 如何解决ubuntu报的错误:You must put some 'source' URIs in your sources.list

    答:添加deb-src开头的源,如 deb-src http://cn.archive.ubuntu.com/ubuntu/ bionic-updates multiverse

  8. HDU 5950 Recursive sequence(矩阵快速幂)题解

    思路:一开始不会n^4的推导,原来是要找n和n-1的关系,这道题的MOD是long long 的,矩阵具体如下所示 最近自己总是很坑啊,代码都瞎吉坝写,一个long long的输入写成%d一直判我TL ...

  9. System.Data.SQLite未能加载文件或程序集

    1.简直是作死帝呀.不需要修改dll的名字,否则就坐等悲剧吧 如果项目中有x86和x64的dll,可以建两个不同的文件夹分别存放,但是千万不要修改掉默认的dll的名字 System.Data.SQLi ...

  10. 图像等比例缩放的函数封装(PHP)

    <?php //图像等比例缩放函数 /** *等比例缩放函数(以保存新图片的方式实现) *@param string $picname 被缩放的处理图片源 *@param int $maxx 缩 ...