面试第六篇

1. list 和 tuple 和 dict 各自特点

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

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

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() 再次调用输出什么?为什么? 

['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]尽量用一行实现

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
原文地址:https://www.cnblogs.com/moning/p/8451515.html