虽然明天就是中秋节了,而我依然在电脑面前码字,写总结。多写一些,你们中秋就多学一点,哈哈哈!Python面试题又来咯!找工作的你,还不赶紧看。 一 .反转一个整数,例如-123 --> -321 class Solution(object): 二 .设计实现遍历目录与子目录,抓取.pyc文件? 第一种方法: import os 第二种方法: import os 第三种方法 from glob import iglob 三 .Python-遍历列表时删除元素的正确做法 遍历在新在列表操作,删除时在原来的列表操作 a = [1,2,3,4,5,6,7,8] 列表解析 a=[1,2,3,4,5,6,7,8] 倒序删除 因为列表总是‘向前移’,所以可以倒序遍历,即使后面的元素被修改了,还没有被遍历的元素和其坐标还是保持不变的 a=[1,2,3,4,5,6,7,8] 四 .字符串的操作题目 全字母短句 PANGRAM 是包含所有英文字母的句子,比如:A QUICK BROWN FOX JUMPS OVER THE LAZY DOG. 定义并实现一个方法 get_missing_letter, 传入一个字符串采纳数,返回参数字符串变成一个 PANGRAM 中所缺失的字符。应该忽略传入字符串参数中的大小写,返回应该都是小写字符并按字母顺序排序(请忽略所有非 ACSII 字符) 下面示例是用来解释,双引号不需要考虑: (0)输入: “A quick brown for jumps over the lazy dog” 返回: “” (1)输入: “A slow yellow fox crawls under the proactive dog” 返回: “bjkmqz” (2)输入: “Lions, and tigers, and bears, oh my!” 返回: “cfjkpquvwxz” (3)输入: “” 返回:“abcdefghijklmnopqrstuvwxyz” def get_missing_letter(a): 五 .可变类型和不可变类型 1,可变类型有list,dict.不可变类型有string,number,tuple. 2,当进行修改操作时,可变类型传递的是内存中的地址,也就是说,直接修改内存中的值,并没有开辟新的内存。 3,不可变类型被改变时,并没有改变原内存地址中的值,而是开辟一块新的内存,将原地址中的值复制过去,对这块新开辟的内存中的值进行操作。 六 .is和==有什么区别? is:比较的是两个对象的id值是否相等,也就是比较俩对象是否为同一个实例对象。是否指向同一个内存地址 == : 比较的两个对象的内容/值是否相等,默认会调用对象的eq()方法 七 .求出列表所有奇数并构造新列表 a = [1,2,3,4,5,6,7,8,9,10] 八 .用一行python代码写出1+2+3+10248 from functools import reduce 九 .Python中变量的作用域?(变量查找顺序) 函数作用域的LEGB顺序 1.什么是LEGB? L: local 函数内部作用域 E: enclosing 函数内部与内嵌函数之间 G: global 全局作用域 B: build-in 内置作用 python在函数里面的查找分为4种,称之为LEGB,也正是按照这是顺序来查找的 十 .字符串 "123" 转换成 123,不使用内置api,例如 int() 方法一: 利用 str 函数 def atoi(s): 方法二: 利用 ord 函数 def atoi(s): 方法三: 利用 eval 函数 def atoi(s): 方法四: 结合方法二,使用 reduce,一行解决 from functools import reduce 我依然会坚守岗位,继续更新我的Python面试题。也祝愿大家中秋节快乐啊! |
|
来自: 千锋Python学堂 > 《程序员经验分享》