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)))
posted @ 2022-03-18 17:51  laity_guan  阅读(41)  评论(0编辑  收藏  举报