zoukankan      html  css  js  c++  java
  • 【Python基础】Python基础练习题

    Python基础练习题

    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 输出分别是什么?

    or 2 结果 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))
    用一行代码生成[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('
    '.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
    

      

      

      

  • 相关阅读:
    关于多态的一些问题
    003 关于shell基础,大数据的前期准备
    002 在大数据中基础的llinux基本命令
    013 MapReduce八股文的wordcount应用
    接口里语句的修饰问题
    Apache Rewrite url重定向功能的简单配置
    学习笔记 --- 缓存、动态页面静态化、网站优化
    使用PHP连接、操纵Memcached的原理和教程
    Apache中关于页面缓存的设置
    缓存(之一) 使用Apache Httpd实现http缓存
  • 原文地址:https://www.cnblogs.com/XJT2018/p/10860733.html
Copyright © 2011-2022 走看看