python面试题目

3 篇文章 0 订阅
1 篇文章 0 订阅
说明:这是我第一次面试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)
  • 0
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值