当前位置:   article > 正文

python 百天面试题(1-10)_给列表set1=[1,2,3,5,6,3,2],删除元素8

给列表set1=[1,2,3,5,6,3,2],删除元素8

前言:

当所有人都在嘲笑你的时候,只有你自己不可以。

1. 分别写一个filter(), reduce(), map() 的使用实例

# filter 接受一个函数和一个序列
def is_num(n):
	return isinstance(n, int)
seq = [1, 3, 5.5, "a", 0]
res = filter(is_num, seq)
print([r for r in res])  # python3 filter生成的是一个迭代器对象。
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
# reduce 接受一个函数(必须是两个参数)和一个序列,先处理序列中的前两个值,然后将得到的值与序列中的第三个值进行函数的运算。
from functools import reduce  # py3 中直接引用reduce会报错 reduce未定义
def add(x, y):
	return x + y
seq = [1, 3, 5.5,6,89, 9]
res = reduce(add, seq)
print(res)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
# map 函数可以接受一个或多个序列,接受多个序列则会将两个序列中指定位置的参数进行函数的运算,类型必须一致
def square(x, y):
    return x**2 + y**2

seq = [1, 2, 3, 4, 5, 6]
seq1 = [1, 2, 3, 4, 5]
res = map(square, seq, seq1)
print([r for r in res])
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

2. python中如何实现tuple和list的转换

t = tuple([1,2,3,4,5,6])
print(type(t))
l = list(t)
  • 1
  • 2
  • 3

3. 实现python中list的去重

# 最简单 集合 set去重 然后list转为列表
# 使用dict的hash特性
# 使用两个列表对比去重

l = [1,2,3,4,5,6, 1, 2,3,4]
# 1
l1 = set(l)
print(list(l1))

# 2
l2 = []
for i in l:
    if i not in l2:
        l2.append(i)
print(l2)

# 3
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17

4. python中pass语句的作用

5. python中单双三引号的区别

6. 以下代码输出什么?

class Parent(object):
    x = 1

class Child1(Parent):
    pass

class Child2(Parent):
    pass

print(Parent.x, Child1.x, Child2.x)
Child2.x = 2
print(Parent.x, Child1.x, Child2.x)
Parent.x = 3
print(Parent.x, Child1.x, Child2.x)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
主要考虑python的继承机制
输出:
1 1 1
1 1 2
3 3 2
  • 1
  • 2
  • 3
  • 4
  • 5
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/菜鸟追梦旅行/article/detail/75368
推荐阅读
相关标签
  

闽ICP备14008679号