Python - 如何从列表中获取整数

时间:2017-06-18 12:43:24

标签: python list typeerror multiplication

我有一个未知的数字列表(数字会在程序中稍后输入),我试图找到列表中最大的数字,然后将其存储在一个变量中,以便我可以在以后进行乘法运算。当我使用max()时,我收到一条错误消息“ TypeError:无法将序列乘以'int'类型的非int ”我的代码找到列表中的最大数字是:

def adjacentElementsProduct(inputArray):
    input_list = [inputArray]
    numb1 = max(input_list)
    print(numb1)

我的完整代码是

def adjacentElementsProduct(inputArray):
input_list = inputArray
numb1 = max(input_list)
print(numb1)
location = input_list.index(numb1)
if numb1 == input_list[-1]:
    test2 = input_list[location-1]
    small_list = [test2]
    numb3 = small_list[0]
    return numb1 * numb3
elif numb1 == input_list[0]:
    test1 = input_list[location+1]
    small_list = [test1]
    numb3 = small_list[0]
    return numb1 * numb3
else:
    test1 = input_list[location+1]
    test2 = input_list[location-1]
    greater_list = [test1, test2]
    numb2 = max(greater_list)
    return numb1 * numb2

1 个答案:

答案 0 :(得分:-1)

问题是您在列表中列出了一个列表。您正在向函数传递一个列表,您将其放在括号内,从而创建一个二维列表。试试这个:

def adjacentElementsProduct(inputArray):
    input_list = inputArray
    #or:
    #input_list = [inputArray]
    #numb1 = max(input_list[0])
    numb1 = max(input_list)
    print(numb1)