Python面试题汇总

#1、用python实现以下效果
    #input
        #[A][B|C][D][E|F|G]
    #output
        #['ABDE','ABDF','ABDG','ACDE','ACDF','ACDG']

#input(源) output(目的)

list = ["A","B|C","D","E|F|G"]
list_all = []
for argument in list:
    result = argument.split("|")
    print result
    list_all.append(result)
Resultlist = []
for index1 in list_all[0]:
    for index2 in list_all[1]:
        for index3 in list_all[2]:
            for index4 in list_all[3]:
                Resultlist.append("".join([index1,index2,index3,index4]))
print Resultlist
#剔除两边相等的,利用递归
li = "1234554321"
center = len(li)/2
print center
first_argument = li[0:center]
if len(li)%2==1:
    next_argument =li[center+1:]
else:
    next_argument = li[center:]
print first_argument
print next_argument


def dcxl(argument):
    if len(argument) <=1:
        return True
   
    else:
        if argument[0] == argument[-1]:
            return dcxl(argument[1:-1])
        else:
            return False
            
            
# 排序,输出最小的四个数字

# li = "123465798"
# li = list(li)
# li.sort()
# print li[0:4]
#coding:gbk


#判断li 的类型
li = [lambda :x for x in range(10)]
print type(li)
print type(li[0])
#输出结果:
#<class 'list'>
#<class 'function'>

#可以看到li为列表类型,list里面的元素为函数,那么打印list里面第一个元素的返回值,此时返回值为多少?

res = li[0]()
print res

#输出9


posted @ 2017-04-18 15:55  xiaoganghu  阅读(140)  评论(0编辑  收藏  举报