python实现给定一个列表,输出由各个位置除了自身元素外所有元素乘积组成的列表

题目很简单就不多说了简单看下面实现即可


#!usr/bin/env python
#encoding:utf-8

'''
__Author__:沂水寒城
功能:给定一个列表,输出由各个位置除了自身元素外所有元素乘积组成的列表
'''


def list_multiply(one_list):
    '''
    列表内元素乘积
    '''
    res=1
    for i in range(len(one_list)):
        res*=one_list[i]
    return res


def test_func(num_list):
    '''
    '''
    res_list=[]
    for i in range(len(num_list)):
        tmp_list=num_list[:]
        tmp_list.pop(i)
        res_list.append(list_multiply(tmp_list))
    return res_list


if __name__ == '__main__':
    num_list=[[1,2,3,4],[3,4,5],[1,2,3,0]]
    for one_list in num_list:
        print '{0} output is:{1}'.format(one_list, test_func(one_list))



结果如下:


[1, 2, 3, 4] output is:[24, 12, 8, 6]
[3, 4, 5] output is:[20, 15, 12]
[1, 2, 3, 0] output is:[0, 0, 0, 6]
[Finished in 0.3s]


你可能感兴趣的:(面试工作,编程技术,python实践)