Python习题

【Python基础】Python基础练习题 随笔 第1张
1.现在有2个元组(('a'),('b'),('c'),('d')),请使用Python中的匿名函数生成列表[{'a':'c'},{'b':'d'}]?

    tu = (('a'),('b'),('c'),('d'))

    tu = list(map(lambda x,y:{x:y},tu[:2],tu[2:]))

    print(tu)

2.看代码写出输出结果:

def multipliters():

        return [lambda x:i * x for i in range(4)]

print([m(2) for m in multipliters()])

答案:[6,6,6,6]



3. 1 or 2 和 1 and  2 输出分别是什么?

    1 or 2 结果 1

    1 and 2 结果 2

and 如果真返回后面的

or 如果真返回第一个

 

4.看代码输出结果?

value = 'B' and 'A' or 'C'

print(value)

 

答案:A

 

5.看代码,写输出结果

v1 = [i%2 for i in range(10)]

v2 = (i%2 for i in range(10))

print(v1,v2)

 

v1 = [0,1,0,1,0,1,0,1,0,1]

v2 = <genexpr>对象,是一个生成器

 

6.def f(a,b=[]) 这种写法有什么陷阱?

    默认参数可变,容易在后面引用的时候,读取到之前使用的值,因为列表的内存地址没有变。

 

7.看代码写结果

def extendlist(val,li=[]):

        li.append(val)

        return li

l1 = extendlist(10)

l2 = extendlist(123,[])

l3 = extendlist('a')

print(l1)

print(l2)

print(l3)

答案:[10,'a']   [123]  [10,'a']

 

8.谁会报错

v1 = {}

v2 = {3:5}

v3 = {[1,2,3]:5}

v4 = {(1,2,3):5}

 

v3会报错,字典不能使用可变的数据当key。

 

9.输出结果

for i in range(5,0,1):

    print(i)

 

什么也没有输出,因为步长为正,倒序需要为负数

 

10.使用lambda匿名函数完成以下操作

def add(x,y):

    return x+y

 

add = lambda x,y:x+y

 

12.  "1,2,3" 如何变成['1','2','3']

li = "1,2,3".split(',')

 

13.['1','2','3']如何变成[1,2,3]

li = ['1','2','3']

li = list(map(lambda x:int(x),li))

 

14 用一行代码生成[1,4,9,16,25,36,49,64,81,100]

li = list(map(lambda x: x*x,[x for x in range(11)]))

 

15.一行生成9*9的乘法表

print('\n'.join([''.join(['%sX%s=%s '%(y,x,x*y) for y in range(1,(x+1))]) for x in range(1,10)]))

 

16.map(str,[1,2,3,4,5,6,7,8,9]) 输出什么?

map对象。

如果list,会将所有元素的类型变成字符串类型

 

18. 1,2,3,4,5 能注册多少个互不相同的无重复的三位数?

def count_nub(bit,data_list):
       '''
       返回一个列表生成bit位组成数的不重复的个数
       :param bit: 数字几位
       :param data_list: 数据列表
       :return: 
       '''
       max_n = len(data_list) + 1
       min_n = max_n - bit
       ret = 1
       for i in range(min_n, max_n):
               ret *= i
       return ret

print(count_nub(3,[1,2,3,4,5]))

 

结果为:60
Python基础-习题1

 

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。