Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/302.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何解决此问题。I';我试图使用len函数,但它';It’没有按预期工作 def mult(编号): 返回[10]*len(数字) 数字=[1,2,5,6,7,8,10] mult(编号)_Python_List - Fatal编程技术网

Python 如何解决此问题。I';我试图使用len函数,但它';It’没有按预期工作 def mult(编号): 返回[10]*len(数字) 数字=[1,2,5,6,7,8,10] mult(编号)

Python 如何解决此问题。I';我试图使用len函数,但它';It’没有按预期工作 def mult(编号): 返回[10]*len(数字) 数字=[1,2,5,6,7,8,10] mult(编号),python,list,Python,List,我希望输出[10,20,50……] 但这是我得到的输出[10,10,10,10,10,10,10]我就是这样做的 def mult(numbers): return [10*i for i in numbers] number = [1,2,5,6,7,8,10] mult(number) 您的方法只是获取值10,并复制与输入数组的len相等的次数。以下是您正在做的事情,注释: def mult(numbers): return [10] * len(numbers)

我希望输出
[10,20,50……]

但这是我得到的输出
[10,10,10,10,10,10,10]
我就是这样做的

def mult(numbers):
    return [10*i for i in numbers]
number = [1,2,5,6,7,8,10]
mult(number)

您的方法只是获取值
10
,并复制与输入数组的
len
相等的次数。

以下是您正在做的事情,注释:

def mult(numbers):
    return [10] * len(numbers)
    # [10]                -->  Take the list [10]
    # len(numbers)        -->  Take the length of the list `numbers`, which has 7 elements
    # [10] * len(numbers) -->  repeat [10] seven times, to get [10, 10, 10, 10, 10, 10, 10]
我认为问题在于您误解了
len()
函数的功能,以及
*
(乘法)运算符如何处理列表。如果要将每个数字乘以10,可以执行以下操作:

def mult(numbers):
    multed = []                 # create an empty list to store the result
    for num in numbers:         # iterate through the elements in `numbers` one by one
        multed.append(10 * num) # add (10 * element) to our new list
    return multed               # return the list we've created
Python还提供了列表理解,使代码更加简洁:

def mult(numbers):
    return [10*num for num in numbers]
    # this does the same thing as above

我想你应该这样试试

def mult(number):
     return 10 * number

number = [1,2,5,6,7,8,10]
answer = []

for i in number:
    answer.append(mult(i))

print(answer)
这不是
len()
所做的(显然)。如果尚未完成,则应完成以下步骤: