python面试题(21~35)

21、你最喜欢Python的哪个库?

在处理大量数据时,没有什么比Pandas(熊猫)更有帮助了,因为Pandas让操作和可视化数据变得轻而易举。

22、举出几个可变和不可变对象的例子?

①不可变意味着创建后不能修改状态。例如:int、float、bool、string和tuple。

②可变意味着可以在创建后修改状态。例如列表(list)、字典(dict)和集合(set)。

23、如何将一个数字四舍五入到小数点后三位?

使用round(value, decimal_places)函数。

a = 5.12345
round(a,3)    #=> 5.123

24、如何分割一个列表?

分割语法使用3个参数,list[start:stop:step],其中step是返回元素的间隔。

a = [0,1,2,3,4,5,6,7,8,9]
print(a[:2])    #=> [0, 1]
print(a[8:])    #=> [8, 9]
print(a[2:8])    #=> [2, 3, 4, 5, 6, 7]
print(a[2:8:2])    #=> [2, 4, 6]

25、什么是pickling?

Pickling是Python中序列化和反序列化对象的常用方法。在下面的示例中,我们对一个字典列表进行序列化和反序列化。

import pickle
obj = [ {'id':1, 'name':'Stuffy'}, {'id':2, 'name': 'Fluffy'}]
with open('file.p', 'wb') as f: 
    pickle.dump(obj, f)
with open('file.p', 'rb') as f: 
    loaded_obj = pickle.load(f)
    print(loaded_obj)    #=> [{'id': 1, 'name': 'Stuffy'}, {'id': 2, 'name': 'Fluffy'}]

26、字典和JSON有什么区别?

①Dict是Python的一种数据类型,是经过索引但无序的键和值的集合。

②JSON只是一个遵循指定格式的字符串,用于传输数据。

27、你在python中使用了哪些ORM?

ORM(对象关系映射)将数据模型(通常在应用程序中)映射到数据库表,并简化了数据库事务。SQLAlchemy通常用于Flask的上下文中,而Django拥有自己的ORM。

28、any和all如何工作?

①Any接受一个序列,如果序列中的任何元素为true,则返回true。

②All只有当序列中的所有元素都为true时,才返回true。

a = [False, False, False]
b = [True, False, False]
c = [True, True, True]
print(any(a)) #=> False
print(any(b)) #=> True
print(any(c)) #=> True
print(all(a)) #=> False
print(all(b)) #=> False
print(all(c)) #=> True

29、字典和列表的查找速度哪个更快?

①在列表中查找一个值需要O(n)时间,因为需要遍历整个列表,直到找到值为止。

②在字典中查找一个值只需要O(1)时间,因为它是一个哈希表。

如果有很多值,这会造成很大的时间差异,因此通常建议使用字典来提高速度。但字典也有其他限制,比如需要唯一键。

30、模块(module)和包(package)有什么区别?

模块是可以一起导入的文件(或文件集合)。

import sklearn包是模块的目录。

from sklearn import cross_validation因此,包是模块,但并非所有模块都是包。

31、如何在Python中递增和递减一个整数?

可以使用“+=”和“-=”对整数进行递增和递减。

value = 5
value += 1
print(value) #=> 6
value -= 1
value -= 1
print(value) #=> 4

32、如何返回一个整数的二进制值?

使用bin函数。

bin(5) #=> '0b101'

33、如何从列表中删除重复的元素?

可以通过将一个列表先转化为集合,然后再转化回列表来完成。

a = [1,1,1,2,3]
a = list(set(a))
print(a) #=> [1, 2, 3]

34、如何检查一个值是不是在列表中存在?

使用“in”。

'a' in ['a','b','c'] #=> True
'a' in [1,2,3] #=> False

35、append和extend有什么区别?

Append将一个值添加到一个列表中,而extend将另一个列表的值添加到一个列表中。

a = [1,2,3]
b = [1,2,3]
a.append(6)
print(a) #=> [1, 2, 3, 6]
b.extend([4,5])
print(b) #=> [1, 2, 3, 4, 5]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值