zoukankan      html  css  js  c++  java
  • 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 输出分别是什么?

        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

    11.range 和 xrange 区别

    2.x:range 会生成一个列表,xrange会生成一个生成器

    3.x:range 会生成一个生成器,取消了xrange。

    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(' '.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,会将所有元素的类型变成字符串类型

    17.Django如何在Model保存前做一定的固定操作,比如写一条日志

    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

    1.如何判断一个Python对象的类型?

        type()

    2.Python如何生成一个随机数?

        random.range(0,n)

    3.请写出匹配ip的正则表达式?

        import re a = 'ds1f192.168.0.12a0.0.0.0dlkl255.201.252.255,299.23.21.33'   

        a2 = re.findall('(?:(?:1d{2}.?) | (?:2[0-4]{1}d{1}.?) | (?:25[0-5]{1}.?) | (?:d{2}.?)){4}', a) 

        print(a2)

    4.写尽可能多的str方法?

        str.encode('utf-8')  str.decode('utf-8')  str.split('|',n)  str.rsplit('|',n) 

       str.replise(old,new)   str.join(iter)    str.startswith('a')   str.endwith('s')  

    5.全局变量和局部变量的区别,如何在function里面给全局变量赋值?

        作用域不同,全局变量所有地方都可以调用,局部变量只有在自己作用局中才可以使用。

        在局部作用域改变全局变量需要使用global

    6.tuple和list区别,有2个list,b1=[1,2,3],b2=[2,3,4],写出合并代码。

        元组创建后不可以修改,列表可以修改,Python中列表和元组可以随意强制转换。

         最简单:b1.extend(b2)

         b1 = [1, 2, 3] 

         b2 = [2, 3, 4]  

         for i in b2:     

              b1.append(i) 

         print(b1)       

    7.请写出一段Python代码实现删除一个list里面重复的元素,l=[1,1,2,3,4,4,5,6,6]

        l=[1,1,2,3,4,4,5,6,6]  

        l = list(set(l)) 

        print(l)

    8.写出如下list的交集和差集代码,b1=[1,2,3],b2=[2,3,4]?

        交集:print(list(set(b1) & set(b2)))

        差集:print(list(set(b1) ^ set(b2)))

    9.写一段Python代码实现list排序,a=[1,2,4,2,4,5,7,10,5,5,7,8,9,0,3]

    10.D=[x * x for x in range(1,10)],请写出D的结果。

        [1, 4, 9, 16, 25, 36, 49, 64, 81]

    11.如何用Python输出一个Fibonacci 数列,100以内

    def fbn(k1,k2,n):
       if n == 100:
           return k1    else:
           k3 = k1 + k2
           ret = fbn(k2,k3,n+1)
           return ret

    ret = fbn(0,1,1)

    print(ret)#34

    12.什么是lambda函数?下面代码输出是什么?

    nums = range(2,20)

    for i in nums:

            nums = filter(lambda x: x == i or x % i,nums)

    print(list(nums))

    匿名函数

    结果:[2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19]

     
  • 相关阅读:
    keycloack docker 本地运行
    Windows10 Docker加速
    XenServer创建镜像Storage
    docker gitlab
    mongodb管理
    mongodb基础
    MS SQL Server迁移至Azure SQL(官方工具)
    Centos Nodejs
    ubuntu 16.04 LTS安装jenkins服务器
    Ubuntu Nginx
  • 原文地址:https://www.cnblogs.com/xuaijun/p/7263397.html
Copyright © 2011-2022 走看看