python-面试题
1、is和==区别
点击查看代码
a = [1,3,5,]
b = [1,3,5,]
print(id(a))
print(id(b))
print(a is b) #比较的是内存地址是否相等
print(a == b) #比较的是数值是否相等
"""
输出结果
2105250423552
2105250423168
False
True
"""
2、小数据池和代码块
小数据池:数字范围:-5~256 不在这范围内的都是自己定义
小数据池的优点:节省内存开销,提高效率
终端执行的是小数据池
pycharm执行的是代码块
点击查看代码
终端:
Python 3.9.5 (tags/v3.9.5:0a7dcbd, May 3 2021, 17:27:52) [MSC v.1928 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> a = 257
>>> b = 257
>>> a is b
False
>>> a == b
True
>>>
>>> a = -6
>>> b = -6
>>> a is b
False
>>> a == b
True
pycharm:
a = 257
b = 257
print(id(a))
print(id(b))
print(a is b)
print(a == b)
"""
输出结果
2313858480528
2313858480528
True
True
"""
a = -6
b = -6
print(id(a))
print(id(b))
print(a is b)
print(a == b)
"""
输出结果
1739808471344
1739808471344
True
True
"""
3、验证码验证方法
点击查看代码
#全部小写验证码
yzm = "03zt"
input_yzm = input("请输入验证码(03ZT):")
user = input("请输入用户名:")
passwd = input("请输入密码:")
if yzm == input_yzm.lower():
if user == "zt" and passwd == "0725":
print("用户登录成功")
else:
print("用户登陆失败!")
else:
print("用户验证码输入错误")
4、元组面试题
点击查看代码
tup1 = (10)
tup2 = (10,)
tup3 = ()
print(type(tup1),type(tup2),type(tup3))
"""
输出结果:
<class 'int'> <class 'tuple'> <class 'tuple'>
"""
5、字典面试题
5.1、通过zip()函数(拉链)进行创建字典
点击查看代码
lst = [1,2,4,5,6]
lst1 = [1,1,1,1,1,1,1]
print(dict(zip(lst,lst1)))
"""
输出结果:
{1: 1, 2: 1, 4: 1, 5: 1, 6: 1}
"""
#根据字典的特性,这个需注意
lst = [1,2,4,5,6]
lst1 = [1,1,1,1,1,1,1]
print(dict(zip(lst1,lst))) #需注意:字典键是唯一的,值可以重复,所以结果就是下面的情况
"""
输出结果:
{1: 6}
"""
5.2、创建字典的第二种方式
点击查看代码
dic = dict(a=1,b=2,c=3)
print(dic)
"""
输出结果:
{'a': 1, 'b': 2, 'c': 3}
"""
5.3、map()映射函数
点击查看代码
print(list(map(str,[1,2,3,4,5]))) #将列表映射成为字符串
"""
输出结果:
['1', '2', '3', '4', '5']
"""
5.4、一个数组中将出现一次的元素加起来求和
点击查看代码
#11.有一个数组[34,1,2,5,6,6,5,4,3,3],将只有个数为一个的元素加起来求和
lst = [34,1,2,5,6,6,5,4,3,3]
#方法一:
def foo(x):
# print("嘿咻嘿咻")
return lst.count(x) == 1
#模拟一个filter()函数
def filter(func,iter):
sum = 0
for i in iter:
ret = func(i)
if ret == True:
sum = sum + i
return sum
print(filter(foo,lst))
#方法二:
def foo(x):
# print("嘿咻嘿咻")
return lst.count(x) == 1
print(sum(filter(foo,lst)))
#方法三:
print(sum(filter(lambda x : lst.count(x) == 1,lst)))
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix