python经典面试题目

1. 给定两个list A,B ,请用找出A,B中相同与不同的元素

print(set(A)&set(B))   # A,B中相同的元素
print(set(A)^set(B))	# A,B中不同元素

2.请写出一段python代码实现删除list里面的重复元素?

list_1 = ["a", "b", "c", "b", "a"]
list_1 = list(set(list_1))
print(list_1)

3. 请按alist中元素的age由大到小排序

alist = [{"name":"a", "age":20}, {"name":"b", "age":30}, {"name":"c","age":25}]
def sort_by_age(alist):
	return sorted(alist, key = lambda x:x['age'], reverse=False)

4. 将字符串 “k:1 |k1:2|k2:3|k3:4”,处理成字典 {k:1,k1:2,…}

# 字典推倒式
str_1 = "k:1|k1:2|k2:3|k3:4"
d = {k:int(v) for t in str_split("|") for k, v in (t.split(":"), )}
"""
这里需要特别注意最后(t.split(":",),因为传递多来的t是字符串,如果使用tuple(t), 结果将是字符串的元组,无法迭代。这里的(t.split(":",))是将t.split生成的列表外加一层元组类型,在for迭代时候元组类型将被消去
"""

5.用一行python代码写出1+2+3+10248

from functools import reduce
#1.使用sum内置求和函数
num = sum([1,2,3,10248])
print(num)
#2.reduce 函数
num1 = reduce(lambda x,y :x+y,[1,2,3,10248])
print(num1)

猜你喜欢

转载自blog.csdn.net/weixin_40576010/article/details/88380357