• python面试题常用语句


    一、比较与交换
    1.比较并输出大的

    print(a if a>b else b)

    2.交换两个元素

    a,b = b,a
    list1[i],list[j]=list1[j],list[i]

     

    二、排序

    1.字符串排序

    s = 'aaccbgd'
    print(''.join(sorted(list(s))))

    2.数组排序

    l = [4,5,2,3,9]
    print(sorted(l))  #从小到大排序
    print(sorted(l,reverse=True))  #从大到小排序

    3.字典排序,转为列表

    d = {3: 2, 2: 1, 1: 3}
    l1 = sorted(d.items(),key=lambda x:x[0]) #根据key排序
    l2 = sorted(d.items(),key=lambda x:x[1]) #根据value排序

     

    三、转换

    1.字符串-数组

    s = 'abcde'
    l = list(s)

    2.数组-字符串

    l = [1,2,4,4,3]
    #s = str(l) #直转
    s = ''.join([str(x) for x in l]) #使用join连接需转为string格式

    3.字典-数组

    d = {3: 2, 2: 1, 1: 3}
    l1 = sorted(d.items(),key=lambda x:x[0]) #根据key排序

    4 字典-数组,将两个列表分别转为字典的key与value

    l = [1, 2, 4, 4, 3]
    s = ['s', 'y', 'o', 'm', 'z']
    d = dict(zip(l,s))

    5.ip地址-32位整数

    复制代码
    ip="192.168.1.1"
    list_ip = list(map(int,ip.split(".")))
    res = ""
    for i in list_ip:
        res += str("%08d" % (int(bin(i)[2:])))
    print(int(res,2))
    复制代码

     

    四、遍历(循环)

    1.单层遍历数组for循环

    value = 0
    for i in range(100):  # 累加1-100
        value += i
    print(value)

    2.多层遍历数组for循环

    复制代码
    l = [2,4,5,7,3,8,1,3]  
    n = len(l)
    for i in range(n):  #冒泡排序
        for j in range(n-i-1):
            if l[j] > l[j+1]:
                l[j],l[j+1]=l[j+1],l[j]
    复制代码

    3.while遍历数组

    复制代码
    i = 1
    while i <= 9: #打印99乘法表
        a = 1  # 列数计数器
        while a <= i:
            print("%d * %d = %d" % (a, i, i * a), end="\t")
            a += 1
        print("")
        i += 1
    复制代码

     

    五、查找

    1.字符串中查找第一个出现元素位置,无返回-1

    print(s.find("a"))

    2.列表中查找第一个出现的元素的位置,无报错

    print(list1.index("hello"))

    3.字段内查找对应的key的value,无返回第二个元素(可缺省)

    print(dict1.get("k1"))
    print(dict1.get("k1",0))

     

    六、递归

    复制代码
    def Fibonacci(n): #斐波那契数列
        if n == 1 or n == 2:
            return 1
        elif n == 3:
            return 2
        else:
            return Fibonacci(n - 1) + Fibonacci(n - 2)
    复制代码

     

    七、语句简化

    1.快速赋值/初始化

    num,s,l,d = 0,"yes",[],{}

    2.三目运算符

    flag = True
    print(1 if flag else -1)

    3.列表推导式

    复制代码
    x = [1,1,1]
    y = [1,2,3]
    z = [a+b for a in x for b in y]  #返回各种相加的结果
    q = [a+b for a,b in zip(x,y)]    #返回对应下标相加的结果
    复制代码

    4.lamda表达式

    x = lambda i:i**2  #使用lambda简化函数内容
    print(x(4))
    d = {3: 2, 2: 1, 1: 3}
    l1 = sorted(d.items(),key=lambda x:x[0]) #使用lamda指定排序的字段:根据key排序
    l2 = sorted(d.items(),key=lambda x:x[1]) #使用lamda指定排序的字段:根据value排序

     



  • 相关阅读:
    过滤器(filter)、watch 侦听器 、计算属性 、axios、vue-cli 的使用 、vue组件化
    redis最佳实践
    【MySQL】Mysql范式及外键作用
    分治法思考题
    完工尚需绩效指数(TCPI)
    网格化微型空气质量站 浅谈工作原理
    rtp流广播吸顶喇叭网络有源吸顶喇叭
    “我放弃编程,写了一本130万字的硬科幻小说”
    2023牛客OI赛前集训营-提高组(第二场) 出租
    产品工程师工作的职责十篇
  • 原文地址:https://www.cnblogs.com/mrwhite2020/p/16905630.html