zoukankan      html  css  js  c++  java
  • python基础之逻辑题(1)

    python基础之逻辑题(1)

       1.用一行代码实现数值交换?

       2.求结果--fromkeys?

       3.1,2,3,4,5能组成多少个互不相同且无重复的三位数?

       4.有两个字符串列表a和b,每个字符串是逗号分隔?

       5.求a[::-3]的结果?

       6.将列表内的元素,根据位数合并成字典?

       7.用简洁的方法将二维变成一维数组?

       8.求a,b,c,d的值?

       9.输出alist的结果?

       10.求sum结果?

        

    1.用一行代码实现数值交换?

    a=1
    b=2
    转换
    a,b=b,a
    print(a,b)

    2求结果

    v=dict.fromkeys(["k1","k2"],[])
    v["k1"].append(666)
    print(v)
    v["k1"]=777
    print(v)
    
    结果:
    
    {"k1":[666],"k2":[666]}
    {"k1":777,"k2":[666]}

    3.1,2,3,4,5 能组成多少个互不相同且无重复的三位数

    lst =[]
    for i  in range(1,6):
        for j in range(1,6):
            for k in range(1,6):
                if i!=j and i!=k and k!=j:
                   lst.append((i,j,k))
                   print(i,j,k)
    print(len(lst))
    
    
    
    结果:
    60个

    4.有两个字符串列表a和b,每个字符串是逗号分隔的一些字符

    a=['a,1','b,3,22','c,3,4']
    b = ['a,2','b,1','d,2']
    按每个字符串的第一个值,合并a和b和c
    c = ['a,1,2','b,3,22,1','c,3,4','d,2']
    ------------------------------------
    
    c = a.copy()
    
    for j in range(len(b)):
        for i in range(len(c)):
            if b[j][0] == c[i][0]:
                c[i] += b[j][1:]
                break
        else:
            c.append(b[j])
    print(c)

    5.a=range(10),a[::-3]的结果是

    写: 9,6,3,0       写的时候这样写
    
    实际结果 range(9,-1,-3)

    6.将列表内的元素,根据位数合并成字典

    lst = [1,2,4,8,16,32,64,128,256,512,1024,32769,65536,4294967296]
    ----------------------------------------------------------------------
    dic={}
    for i in lst:
        dic.setdefault(len(str(i)),[]).append(i)
    print(dic)

    7.请尽量用简洁的方法将二维数组转换成一维数组

    ##### 例:转换前 lst = [[1,2,3],[4,5,6],[7,8,9]]
    
    ##### 转换后lst = [1,2,3,4,5,6,7,8,9]
    
    new_lst=[]
    for i in lst:
        new_lst.extend(i)   #extend()函数用于在列表末尾一次性追加另一个序列中的多个值
    print(new_lst)

    8.如下代码

    a = [1,2,3,[4,5],6]
    b = a
    c = copy.copy(a)        #浅拷贝把对象复制一遍,但是该对象中引用的其他对象我不复制
    d = copy.deepcopy(a)    #深拷贝把对象复制一遍,并且该对象中引用的其他对象我也复制
    b.append(10)
    c[3].append(11)
    d[3].append(12)
    请问a,b,c,d的值为
    
    a = [1,2,3,[4,5,11],6,10]
    b = [1,2,3,[4,5,11],6,10]
    c = [1,2,3,[4,5,11],6]
    d = [1,2,3,[4,5,11,12],6]

    9.阅读以下代码,并写入程序的输出结果

    alist = [2,4,5,6,7]
    for var in alist:
        if var % 2 == 0:
            alist.remove(var)
    alist的最终结果是?
    
    第一次循环:删除了2留下[4,5,6,7]
    第二次循环:跳过4,用5,因为索引是1,留下[4,5,6,7]
    第三次循环:索引是2,用6,删除6,留下[4,5,7]
    结束
    ----------------------------------------------------------------
    [4,5,7]

    10求结果

    kvps = {'1':'1','2':'2'}
    theCopy = kvps  #相当于是赋值操作
    kvps['1'] = 5         #{"1":5,"2":"2"}
    sum = kvps['1']+theCopy['1']   #5+5
    print(sum)
    #10

                                                                                  

  • 相关阅读:
    一些比较实用的小函数
    开发KOL程序 (1)
    开发KOL程序2
    使用mask来制作图像透明
    用U盘方便快捷安装系统
    Windows记忆专家
    Delphi开发桌面图标列表查看程序
    js压缩上传图片,转载
    js操作二进制数据
    mui扫码横屏全屏
  • 原文地址:https://www.cnblogs.com/tianshuai1/p/10946981.html
Copyright © 2011-2022 走看看