您的位置:首页 > 编程语言 > Python开发

python面试题目

2012-09-17 14:12 302 查看

说明:这是我第一次面试python遇到的题目,基本上答得都不充分...查询答案并加上个人理解后写成此文,不仅MARK一下也分享给大家

题目一:python中String类型和unicode什么关系
整理答案:string是字节串,而unicode是一个统一的字符集,utf-8是它的一种存储实现形式,string可为utf-8编码,也可编码为GBK等各种编码格式

题目二:不用set集合方法,去除列表中的重复元素
方法一:

List=['b','b','d','b','c','a','a']
print "the list is:" ,  List
if List:
List.sort()
last = List[-1]
for i in range(len(List)-2, -1, -1):
if last==List[i]:
del List[i]
else:
last=List[i]
print "after deleting the repeated element the list is : " , List


方法二:使用列表综合

l1 = ['b','c','d','b','c','a','a']
l2 = []
[l2.append(i) for i in l1 if not i in l2]
print l2


题目三:实现斐波那契(Fibonacci)数列
方法一:递归

def fibonacci2(n):
if n == 1 or n == 2:
return 1
else:
return fibonacci2(n-1) + fibonacci2(n-2)


方法二:迭代

def fibonacci(n):
if n == 1 or n == 2:
return 1

nPre = 1
nLast = 1
nResult = 0
i = 2
while i < n:
nResult = nPre + nLast
nPre = nLast
nLast = nResult
i += 1

return nResult

print fibonacci(5)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: