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 使用列表乘以一个值?_Python_List - Fatal编程技术网

Python 使用列表乘以一个值?

Python 使用列表乘以一个值?,python,list,Python,List,我基本上在上面有一个列表,其中有一些值,如果我愿意的话 现在如果第一个值是3,第二个值是7,那么3会显示20次,7会显示100次, 然而,我希望它只是成倍增加 有没有办法不用导入任何东西就可以做到这一点 --重新编辑-- 我应该早点说出来,但我没有意识到输入值会改变任何东西,或者影响任何东西 最重要的代码是: n1 = 20*values[0] n2 = 100*values[1] print(n1,"\n",n2) 值是一个空列表,“数字”是输入,我想这就是你想要的 for num in n

我基本上在上面有一个列表,其中有一些值,如果我愿意的话

现在如果第一个值是3,第二个值是7,那么3会显示20次,7会显示100次, 然而,我希望它只是成倍增加

有没有办法不用导入任何东西就可以做到这一点

--重新编辑-- 我应该早点说出来,但我没有意识到输入值会改变任何东西,或者影响任何东西 最重要的代码是:

n1 = 20*values[0]
n2 = 100*values[1]
print(n1,"\n",n2)

值是一个空列表,“数字”是输入,我想这就是你想要的

for num in numbers:
values.append(num)

当您乘以一个
int
时,数学函数将接管。但是,为了重复,只需转换为
str
,然后乘以:

>>> values = [3,7]
>>> n1 = 20 * [values[0]]
>>> n2 = 5 * [values[1]]
>>> print n1
[3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3]
>>> print n2
[7, 7, 7, 7, 7]

编号*列表\值=产品

n1 = 20*str(values[0])
n2 = 100*str(values[1])
print(n1,"\n",n2)

如果您有一个值列表和另一个要与相应值相乘的数字列表:

In [1752]: values = [3, 7]

In [1753]: 20 * values[0]
Out[1753]: 60
然后,您可以通过以下方式获得您想要的:

values = [12, 14]
multiples = [20, 100]
见和

另一方面,如果希望通过将
中的元素乘以
中的元素来重复
值中的元素,则可以执行以下操作:

result = [value * multiple for value, multiple in zip(values, multiples)]
现在,您可以使用
repeat()
作为生成器来执行您想要的操作:

def repeat(values, repeats):
    for value, rep in zip(values, repeats):
        for _ in range(rep):
            yield value

你期望的输出是什么?从上面看不清楚。
20*str(值[0])
给出了
33333
-它是你想要的输出吗?基本上我想做的是让列表中的第一个值乘以20,列表中的第二个值乘以100,例如:如果将值[0]设为12,则当它乘以20时,我会得到240等等,那么您想要60还是
[3,3,3,3,…,3,3,3]
(带20个3s)?“显示20次”和“乘以20”是完全不同的事情;乘数=[20100];乘法=[i*j代表i,j在zip中(数字,乘法器)];打印成倍的
>>> list(repeat([3, 7], [5, 10])
[3, 3, 3, 3, 3, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7]