zoukankan      html  css  js  c++  java
  • 假期(面试题一)

    # # 1、如何实现对python列表去重并保持原先的顺序?
    # li = [3,5,7,8,6,3,2,4,7,5,4,3,2,1]
    # new_list = []
    # for i in li:
    #     if i in new_list:
    #         pass
    #     new_list.append(i)
    # print(new_list)
    
    ## 2、现有两元组(("a"),("b")),(("c"),("d")),使用python中匿名函数生成列表[{"a":"c"},{"b":"d"}]
    # x,y = (("a"),("b")),(("c"),("d"))
    # print(dict(zip(x,y)))
    # #解法一:
    # text = lambda t1,t2 :[{i:j} for i,j in zip(t1,t2)]
    # print(text(x,y))
    # # 解法二
    # print(list(map(lambda t:{t[0]:t[1]},zip(x,y))))
    # # 解法三
    # print([{i:j} for i,j in zip(x,y)])
    
    # # 3、请写出二分查找的python实例代码,
    # li = [1,4,3,67,9,8,7,5,33,45,99]
    # li.sort(reverse=False)
    #
    # def binary_search(alist,item):
    #     '''
    #     :param alist:
    #     :param item:
    #     :return: 二分查找,循环
    #     '''
    #     n = len(alist)
    #     start = 0
    #     end = n-1
    #     while start <= end:
    #         mid = (start+end)//2
    #         if item not in alist:
    #             return "没有你要找的东西"
    #         elif item == alist[mid]:
    #             return "找到了,索引为%s" %mid
    #         elif item < alist[mid]:
    #             end = mid - 1
    #         elif item > alist[mid]:
    #             start = mid + 1
    #     return False
    # print(binary_search(li,100))
    #
    # def search(data,item):
    #     '''
    #     :param data:
    #     :param item:
    #     :return:递归实现二分查找
    #     '''
    #     n = len(data)
    #     if 0 == n:
    #         return False
    #     mid = n//2
    #     if item not in data:
    #         return False
    #     elif item == data[mid]:
    #         return mid
    #     elif item < data[mid]:
    #         return search(data[:mid],item)
    #     else:
    #         return search(data[mid+1:],item)
    # print(search(li,1))
    
    # # 4、在python字符串格式化中,%和.format 的主要区别是什么?
    # 从大的角度来说两者没有什么较大的区别,用%能实现的格式化操作同format同样可以完成,反之毅然,从小的角度来说format格式化更加灵活
    # 例如:
    # ls1 = "{0}{1}{2}".format("张","建","平")
    # ls2 = "{}{}{}".format("张","建","平")
    # ls3 = "{name1}{name2}{name3}".format(name1="张",name2="建",name3="平")
    # print(ls1,ls2,ls3)          #他们打印的结果是相同的
    
    # # 5、*args和**kwargs在什么情况下回使用到?请给出使用**kwargs的示例
    # # *args和**kwargs为可变长参数,当函数需要传太多的值时形参可以用这个代替
    # def text(**kwargs):
    #     print(kwargs)
    # text(name="张建平",age=18,sex="male")
    
    # 6、x="foo",y = 2 ;  print(x*y) 的结果是什么?
    # 结果为foofoo      #字符串支持加法(拼接)和乘法
    
    # # 7、kvps = {"1":1,"2":2};thecopy = kvps;  kvps["1"] = 5;sum = kvps["1"] + thecopy["1"]  print(sum) 的结果是什么?
    # kvps = {"1":1,"2":2}
    # thechop = kvps
    # kvps["1"] = 5
    # sums = kvps["1"] + thechop["1"]
    # print(sums)       #thecopy和kvps公用一块内存地址,改变其中某一项,另一个也将会改变   10
    
    # 8、sys.path.append("/root/mods")的作用是什么
    # 路径拼接,会将/root/mods 加入sys.path中,在python中模块路径找不到经常使用
    
    # 9、python里面如何实现tuple和list的转换
    # 假如有一个元组tupledemo,转换为列表只需要     list(tupledemo)
    # 假如有一个元组listdemo,转换为列表只需要     tuple(listdemo)
    
    # 10、请写出一段代码实现删除一个list里面的重复元素
    # lis = [1,2,3,2,4,5,3,2,4]
    # # 方法一
    # data_list= []
    # for i in lis:
    #     if i not in data_list:
    #         data_list.append(i)
    # print(data_list)
    # 方法二
    # print(list(set(lis)))
  • 相关阅读:
    CocoaPods 的安装和使用介绍
    C 语言宏快速入门
    C中的预编译宏定义
    __block 与 __weak的区别理解
    Xcode7 项目转 Xcode6 时 出现问题
    css margin 参数
    第三方框架 INTULocationManager 定位的一些方法
    ios 定位 监听是否跨入某个指定的区域
    ios 指南针
    ios 定位 航向检测
  • 原文地址:https://www.cnblogs.com/52-qq/p/8446930.html
Copyright © 2011-2022 走看看