python高级面试题,python面试题库
在本文中,我们整理了九个Python列表生成面试问题(从简单到困难),可以帮助你提高对列表生成的理解。感兴趣的朋友可以了解一下。
00-1010 1.导言2。字符串到整数3。大于10 ^ 4的数字。大于10并能被3 5整除的数。列表6中的偶数加1。包含数字1 7的数字。合并两个列表8。根据值9对字典进行排序。求两个列表元素的组合10。列表中两个元素的唯一组合,其和是3 ^ 11的倍数。总结
目录
之前也有专门用Python做列表生成的博客,可能你不太擅长。下面是9个Python列表生成面试问题(从简单到困难),可以帮助你提高对列表生成的理解。
废话少说,我们开始吧!
1. 引言
假设我们有以下字符串列表:
lis=[1 , 2 , 3 , 4 , 5]
我们希望用代码实现列表生成公式,将列表中的每个字符串转换成对应的整数。这里假设列表中的每个元素都可以转换成整数,即示例的输出如下:
[1, 2, 3, 4, 5]
【参考答案】
lis=[1 , 2 , 3 , 4 , 5]
answer=[清单中I的int(I)]
打印(答案)
2. 字符串转整数
假设我们有以下整数列表:
lis=[1,5,13,4,16,7]
我们希望用代码实现列表生成公式,找出上面列表中大于10的数字。也就是说,示例的输出如下:
[13, 16]
【参考答案】
lis=[1,5,13,4,16,7]
answer=[i for i in lis if i10]
打印(答案)
3. 大于10的数字
假设我们有以下整数列表:
lis=[1,12,13,14,15,2,3]
我们希望用代码实现列表生成公式,找出上面列表中大于10且能被3整除的数。也就是说,示例的输出如下:
[12, 15]
【参考答案】
lis=[1,12,13,14,15,2,3]
answer=[I for I in lisif i10 and I % 3==0]
打印(答案)
4. 大于10且整除3的数字
假设我们有以下整数列表:
lis=[1,2,4,5,7]
我们希望用代码实现列表生成公式,将上面列表中的偶数加1。也就是说,示例的输出如下:
[1,3,5,5,7]
提示:可以使用三元运算符。
【参考答案】
lis=[1,2,4,5,7]
answer=[(I 1 if I % 2==0 else I)for I in lis]
打印(答案)
5. 对列表中的偶数执行加1操作
实现一个列表生成公式,用来查找数字1到100之间的所有数字,包括数字1。
也就是说,示例的输出如下:
[1,10,11,12,13,14,15,16,17,18,19,21,31,41,51,61,71,81,91,100]
strong>【参考答案】
answer = [i for i in range(1,101) if "1" in str(i)]print(answer)
7. 合并两个列表
假设我们有两个长度相同的列表,分别为fruits和prices , 两个列表中的元素分别如下:
fruits = ["apple", "orange", "pear"]prices = [4,5,6]
我们希望用代码实现列表生成式用以对上述两个列表进行合并,即列表中的元素为(fruit, price)形式。即样例的输出如下:
[("apple",4), ("orange",5), ("pear",6)]
提示: 推荐使用zip函数
【参考答案】
fruits = ["apple", "orange", "pear"]prices = [4,5,6]
answer = [(fruit, price) for fruit, price in zip(fruits, prices)]
print(answer)
8. 根据value对字典排序
假设我们有以下字典,key为水果名称fruits,value为相应的单价price,如下:
d = {"apple":5, "orange":2, "pear":7, "durian":6}
我们需要实现列表生成式用以对上述字典按price对相应的元素进行排序。即样例输出如下:
[("orange",2), ("apple",5), ("durian",6), ("pear",7)]
提示: 推荐使用 sorted函数
【参考答案】
d = {"apple":5, "orange":2, "pear":7, "durian":6}answer = sorted([(f,p) for f,p in d.items()], key=lambda x:x[-1])
print(answer)
9. 求两个列表的元素组合
假设我们有以下两个列表:
fruits = ["apple", "orange", "pear"]recipes = ["pie", "juice"]
我们需要实现列表生成式用以对上述两个列表中的元素求解组合操作。即样例输出如下:
[
("apple", "pie"), ("apple", "juice"),
("orange", "pie"), ("orange", "juice"),
("pear", "pie"), ("pear", "juice")
]
提示: 使用两层嵌套循环
【参考答案】
fruits = ["apple", "orange", "pear"]recipes = ["pie", "juice"]
answer = [(f,r) for f in fruits for r in recipes]
print(answer)
10. 列表中两个元素的唯一组合,其和为3的倍数
假设我们有以下整数列表:
lis = [1,6,2,4,7]
我们希望用列表生成式来实现在此列表中查找任意两个元素的唯一组合,其总和为3的倍数。即上述样例预期输出为:
[(1,2), (2,4), (2,7)]
【参考答案】
lis = [1,6,2,4,7]answer = [(i,j) for i in lis for j in lis if i<j and (i+j)%3==0]
print(answer)
11. 总结
本文重点介绍了九个Python列表生成式的面试题,并给出了相应的代码实现,可以加深大家对列表生成式的理解。
到此这篇关于九个Python列表生成式高频面试题汇总的文章就介绍到这了,更多相关Python列表生成式内容请搜索盛行IT软件开发工作室以前的文章或继续浏览下面的相关文章希望大家以后多多支持盛行IT软件开发工作室!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。