python面试题目

题目一: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)


上一篇:Python代码规范
下一篇:使用pprint模块格式化数据

PythonTab微信公众号:

Python技术交流互助群 ( 请勿加多个群 ):

群1: 87464755

群2: 333646237

群3: 318130924

群4: 385100854