n1 = 20*values[0]
n2 = 100*values[1]
print(n1,"\n",n2)
我基本上得到了一个清单,上面有一些值,只有我有
目前,如果我的第一个值为3,第二个值为7,则3个将显示20次,7个将显示100次, 但是我希望它能成倍增加。
有没有办法在不导入任何内容的情况下执行此操作?
- 再次编辑 - 我应该早点说这么多,但我没有意识到输入的值会改变任何东西,或者影响到这一点 我有的代码顶部:
for num in numbers:
values.append(num)
值为空列表,“数字”为输入
答案 0 :(得分:1)
我认为这就是你想要的
>>> 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]
答案 1 :(得分:1)
number * list_value = product
In [1752]: values = [3, 7]
In [1753]: 20 * values[0]
Out[1753]: 60
答案 2 :(得分:0)
当你乘以int
时,数学函数就会接管。但是,为了重复,只需转换为str
然后乘以:
n1 = 20*str(values[0])
n2 = 100*str(values[1])
print(n1,"\n",n2)
答案 3 :(得分:0)
如果您有一个值列表和另一个数字列表,则将相应的值乘以:
values = [12, 14]
multiples = [20, 100]
然后,你可以得到你想要的东西:
result = [value * multiple for value, multiple in zip(values, multiples)]
另一方面,如果您希望values
中的元素重复multiples
中的元素,则可以执行以下操作:
def repeat(values, repeats):
for value, rep in zip(values, repeats):
for _ in range(rep):
yield value
现在,您可以使用repeat()
作为生成器来执行您想要的操作:
>>> list(repeat([3, 7], [5, 10])
[3, 3, 3, 3, 3, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7]