python面试题常用语句
一、比较与交换
1.比较并输出大的
print(a if a>b else b)
2.交换两个元素
a,b = b,a
list1[i],list[j]=list1[j],list[i]
二、排序
1.字符串排序
s = 'aaccbgd'
print(''.join(sorted(list(s))))
2.数组排序
l = [4,5,2,3,9]
print(sorted(l)) #从小到大排序
print(sorted(l,reverse=True)) #从大到小排序
3.字典排序,转为列表
d = {3: 2, 2: 1, 1: 3}
l1 = sorted(d.items(),key=lambda x:x[0]) #根据key排序
l2 = sorted(d.items(),key=lambda x:x[1]) #根据value排序
三、转换
1.字符串-数组
s = 'abcde'
l = list(s)
2.数组-字符串
l = [1,2,4,4,3]
#s = str(l) #直转
s = ''.join([str(x) for x in l]) #使用join连接需转为string格式
3.字典-数组
d = {3: 2, 2: 1, 1: 3}
l1 = sorted(d.items(),key=lambda x:x[0]) #根据key排序
4 字典-数组,将两个列表分别转为字典的key与value
l = [1, 2, 4, 4, 3]
s = ['s', 'y', 'o', 'm', 'z']
d = dict(zip(l,s))
5.ip地址-32位整数
ip="192.168.1.1"
list_ip = list(map(int,ip.split(".")))
res = ""
for i in list_ip:
res += str("%08d" % (int(bin(i)[2:])))
print(int(res,2))
四、遍历(循环)
1.单层遍历数组for循环
value = 0
for i in range(100): # 累加1-100
value += i
print(value)
2.多层遍历数组for循环
l = [2,4,5,7,3,8,1,3]
n = len(l)
for i in range(n): #冒泡排序
for j in range(n-i-1):
if l[j] > l[j+1]:
l[j],l[j+1]=l[j+1],l[j]
3.while遍历数组
i = 1
while i <= 9: #打印99乘法表
a = 1 # 列数计数器
while a <= i:
print("%d * %d = %d" % (a, i, i * a), end="\t")
a += 1
print("")
i += 1
五、查找
1.字符串中查找第一个出现元素位置,无返回-1
print(s.find("a"))
2.列表中查找第一个出现的元素的位置,无报错
print(list1.index("hello"))
3.字段内查找对应的key的value,无返回第二个元素(可缺省)
print(dict1.get("k1"))
print(dict1.get("k1",0))
六、递归
def Fibonacci(n): #斐波那契数列
if n == 1 or n == 2:
return 1
elif n == 3:
return 2
else:
return Fibonacci(n - 1) + Fibonacci(n - 2)
七、语句简化
1.快速赋值/初始化
num,s,l,d = 0,"yes",[],{}
2.三目运算符
flag = True
print(1 if flag else -1)
3.列表推导式
x = [1,1,1]
y = [1,2,3]
z = [a+b for a in x for b in y] #返回各种相加的结果
q = [a+b for a,b in zip(x,y)] #返回对应下标相加的结果
4.lamda表达式
x = lambda i:i**2 #使用lambda简化函数内容
print(x(4))
d = {3: 2, 2: 1, 1: 3}
l1 = sorted(d.items(),key=lambda x:x[0]) #使用lamda指定排序的字段:根据key排序
l2 = sorted(d.items(),key=lambda x:x[1]) #使用lamda指定排序的字段:根据value排序
python面试题常用语句的更多相关文章
- python学习_常用语句
1.变量 1 name='hu qihang' #变量名应为英文,方便阅读 2 name_of_gf='chen ye' #多个单词用下划线隔开 3 名字='hu qihang' #变量名可以是中文 ...
- Python—常用语句 if for while
Python-常用语句 判断语句 循环语句 break语句和continue语句 判断语句: if语句是最简单的添加判断语句,它可以控制程序的执行流程. if结构: if条件: 要执行的操作 ... ...
- Python 常用语句
条件语句 a=input("请输入数字a的值:\n") a=int(a) #从控制台接收到的都是字符串类型,需要转换 if a==0: #也可以写成if(a==0): print( ...
- python公司面试题集锦 python面试题大全
问题一:以下的代码的输出将是什么? 说出你的答案并解释. class Parent(object): x = 1 class Child1(Parent): pass class Child2(Par ...
- Python面试题汇总
原文:http://blog.csdn.net/jerry_1126/article/details/44023949 拿网络上关于Python的面试题汇总了,给出了自认为合理的答案,有些题目不错,可 ...
- 315道python面试题(参考答案)
第一部分 Python基础篇 1:为什么学习Python 家里有在这个IT圈子里面,也想让我接触这个圈子,然后给我建议学的Python, 然后自己通过百度和向有学过Python的同学了解了Python ...
- Python面试题之Python面试题汇总
在这篇文章中: Python基础篇 1:为什么学习Python 2:通过什么途径学习Python 3:谈谈对Python和其他语言的区别 Python的优势: 4:简述解释型和编译型编程语言 5:Py ...
- 315道Python面试题答案
目录 Python基础篇 1:为什么学习Python 2:通过什么途径学习Python 3:谈谈对Python和其他语言的区别 Python的优势: 4:简述解释型和编译型编程语言 5:Python的 ...
- 很全的 Python 面试题
很全的 Python 面试题 Python语言特性 1 Python的函数参数传递 看两个例子: Python 1 2 3 4 5 a = 1 def fun(a): ...
- 面试前赶紧看了5道Python Web面试题,Python面试题No17
目录 本面试题题库,由公号:非本科程序员 整理发布 第1题: Flask中的请求上下文和应用上下文是什么? 第2题:django中间件的使用? 第3题: django开发中数据做过什么优化? 第4题: ...
随机推荐
- 如何自动清理 KingbaseES SYS_LOG
KingbaseES 初始化完成后,默认不会对 sys_log进行清理.如果需要对sys_log进行自动清理,需要设置相关参数. 与日志自动清理有关的参数(默认值)如下: log_filename | ...
- 引擎之旅 Chapter.2 线程库
预备知识可参考我整理的博客 Windows编程之线程:https://www.cnblogs.com/ZhuSenlin/p/16662075.html Windows编程之线程同步:https:// ...
- Mysql 实现 向上递归查找父节点并返回树结构
需求:通过mysql 8.0以下版本实现,一个人多角色id,一个角色对应某个节点menu_id,根节点的父节点存储为NULL, 向上递归查找父节点并返回树结构. 如果只有叶子,剔除掉; 如果只有根,只 ...
- 2.2 virtualenv 虚拟环境
有的时候因为各种原因,在操作系统下,我们会安装很多版本的Python解释器.同样,我们也有可能因为各种原因,需要不同版本的模块,比如Django1.8,Django1.11.再加上pip工具管理器的版 ...
- 100个Linux Shell脚本经典案例(附PDF)
转载自:https://mp.weixin.qq.com/s/tCKAM67_7K7q2vJthaIsDQ 原文链接:https://wenku.baidu.com/view/4f089430a116 ...
- Elasticsearch:Elasticsearch-head - 用于浏览和与 Elasticsearch 集群进行交互的 Web 前端
文章转载自:https://elasticstack.blog.csdn.net/article/details/114575256 离线安装方式:https://www.cnblogs.com/sa ...
- Fluent插件管理
官方文档地址:https://docs.fluentd.org/deployment/plugin-management 命令fluent-gem是Fluentd用来安装插件的,它是gem命令的包装器 ...
- Elasticsearch:如何调试集群状态 - 定位错误信息
文章转载自:https://blog.csdn.net/UbuntuTouch/article/details/108973356
- day07-2MySQL索引
MySQL索引 说起提高数据库性能,索引是最物美价廉的东西了.不用加内存,不用改程序,不用调sql,查询速度就能提高千百倍. 例子 首先,创建一个有800万条数据的表 -- 创建测试数据库 tmp C ...
- fileinput 的总结
fileinput组件实战总结 fileinput是一个增强的基于Bootstrap3.x和HTML5的文件上传工具,具备多种格式文件的预览功能, 另外,它包含了基于AJAX的上传,拖拽和撤销文件,可 ...