面试第六篇

1. list 和 tuple 和 dict 各自特色python

tuple  元祖 固定长度不可变的顺序容器,访问效率高,适合存储一些常量数据,能够做为字典的键使用
list   列表 是长度可变有序的数据存储容器,能够经过下标索引取到相应的数据
dict   字典 长度可变的hash字典容器,存储的方式为键值对,能够经过相应的键获取相应的值,key支持多种类型

2. ‘1,2,3’如何变成[‘1’,’2’,’3’]     [‘1’,’2’,’3’]如何变成[1,2,3] ?app

obj = "1,2,3".split(",")
xx = [int(i) for i in obj]

3. def add_end(L=[]):函数

    L.append(‘END’)对象

    return L
  add_end() 输出什么?
  add_end() 再次调用输出什么?为何? blog

['END']

['END'] ['END'], 由于在第一次调用的时候L就已经生成,在内存中相似于全局变量,第二次调用的时候会在第一次调用的基础上进行添加(默认参数必须指向不变的对象)

4. [34,5,12,9,21]怎么排序排序

sorted()

5. def func(a,b,c = 0,*args,**kw):索引

      pass内存

  *args,**kw 的做用是什么?字符串

*args接收位置参数,**kw接收关键字传参

6. 如何生成[1,4,9,16,25,36,64,81,100]尽可能用一行实现hash

obj = [i**2 for i in range(11)]

7. 生成器是什么?有什么用?请写一个生成器

能够理解为一种数据类型,这种数据类型自动实现了迭代器协议(其余的数据类型须要调用本身内置的__iter__方法),因此生成器就是可迭代对象 

def test():
    print("one")
    yield 1

8. map(str,[1,2,3,4,5,6,7,8,9])输出什么

#map函数是对一个序列的每一个项依次执行函数

输出是一个map对象

加上list() 会输出['1', '2', '3', '4', '5', '6', '7', '8', '9']

9. python 支持的数据类型有

Number(数字)  
String(字符串)
List(列表)
Tuple(元组)
Sets(集合)
Dictionary(字典)

10. 请把一下函数转化成 python 的 lamabda 匿名函数:

  def add(x,y):

    return x+y 

lamabda:x,y:x+y
相关文章
相关标签/搜索