Python 面试总结
来源:互联网 发布:mac os怎么升级 编辑:程序博客网 时间:2024/06/11 06:55
多条件排序问题:
# 样例输入input: [2, 3, 3, 4, 1, 1, 1, 6, 6, 4, 7, 8, 55, 4]# 需求:按元素的出现次数降序排列,出现次数相同的元素按值降序排列# 样例输出output: [4, 4, 4, 1, 1, 1, 6, 6, 3, 3, 55, 8, 7, 2]
Solution:
>>> from collections import Counter>>> input = [2, 3, 3, 4, 1, 1, 1, 6, 6, 4, 7, 8, 55, 4]>>> output = []>>> c = Counter(input)>>> cCounter({1: 3, 4: 3, 3: 2, 6: 2, 2: 1, 7: 1, 8: 1, 55: 1})>>> m = c.most_common() # 按出现次数降序排列>>> m[(1, 3), (4, 3), (3, 2), (6, 2), (2, 1), (7, 1), (8, 1), (55, 1)]>>> s = sorted(m, key=lambda x: (x[1], x[0]), reverse=True) # 匿名函数返回一个元组,按照元组内元素的顺序排序>>> s[(4, 3), (1, 3), (6, 2), (3, 2), (55, 1), (8, 1), (7, 1), (2, 1)]>>> for v, c in s:... output += [v] * c...>>> output[4, 4, 4, 1, 1, 1, 6, 6, 3, 3, 55, 8, 7, 2]
获取两个日期之间的所有日期:
# 样例输入(两个日期的年份不一定相同)input: start=2017/7/11 end=2017/7/16# 需求:返回两个日期之间所有日期的列表# 样例输出output: [2017/7/11, 2017/7/12, 2017/7/13, 2017/7/14, 2017/7/15, 2017/7/16]
Solution:
from datetime import datetime, timedeltadef get_date_list(start, end): date_list = [] start = datetime.strptime(start, '%Y/%m/%d') end = datetime.strptime(end, '%Y/%m/%d') if start > end: return [] else: day_range = (end - start).days # 两个日期相差的天数,即输出的日期范围 for d in xrange(day_range): date_list.append(start + timedelta(days=1) * d ) # 开始日期逐个加 1 days 得到所有日期 date_list.append(end) # 上面得到的日期列表不包含end日期 return date_list
阅读全文
0 0
- Python 面试总结
- selenium+python面试题目总结
- Python面试常用二十题总结
- 七、PYTHON 一些基础面试题目总结
- PYTHON 一些基础面试题目总结
- PYTHON 一些基础面试题目总结
- PYTHON 一些基础面试题目总结【1】
- python语言特性及面试知识点总结
- PYTHON 一些基础面试题目总结
- PYTHON 一些基础面试题目总结
- 一个初级python web后端开发工程师的面试总结
- 一个初级python web后端开发工程师的面试总结
- python面试总结(三)拷贝与通信
- python面试
- python面试
- python面试
- python面试
- python 面试
- 链接备份 CVPR2017 Ubuntu vi caffe-python接口
- 使用 JsonConfig 排除 实体对象 建立在一对多的关联关系上 jsonConfig.setExcludes
- Javaweb开发,实现'购物车'的遍历与操作(页面数据刷新、后台操作反馈)
- python高阶函数
- 数字图像的倒数与梯度
- Python 面试总结
- 出现异常java.lang.SecurityException: Permission Denial: opening provider com.android.providers.contacts.
- openCV实现图像的轮廓检测以及外接矩形
- k近邻法
- 实训--day06servlet
- python学习之正则表达式
- 学习是多么有趣的一件事!
- 【机器学习杂货铺】——梯度下降(暂缺)
- 基于TensorFlow的Keras运行出错解决方案