def fivetimes(anylist):
return anylist * 5
如您所见,如果给您一个list参数,则不需要任何赋值来“乘以给定的次数并返回输出”。你说的是给定的列表;如果不是(最自然的方式)作为函数的参数,它是如何给你的?这并不重要——如果它是一个全局变量,一个作为参数的对象的属性,等等,这仍然不需要任何赋值。
如果“homeworkilly”禁止您使用列表的*运算符,并且只要求您自己实现它,则这将需要赋值,但不需要声明:def multiply_the_hard_way(inputlist, multiplier):
outputlist = []
for i in range(multiplier):
outputlist.extend(inputlist)
return outputlist
您可以简单地将空列表设为“magicaly-appear”:无需将其“声明”为任何东西,它是一个空列表,Python编译器与您或代码的任何读者一样了解它。将它绑定到名称outputlist也不需要执行任何特殊的仪式,只需要绑定(aka赋值)本身:名称没有类型,只有对象有类型。。。那是Python!-)
Edit:OP现在说输出不能是一个列表,而是int、float或string,并且他不知道是什么。我要求澄清一下——乘一个列表总是返回一个列表,所以很明显他一定是说了些和他最初说的不同的东西,所以他必须乘一个列表。同时,这里还有一个读心术的尝试。也许他必须返回一个列表,其中输入列表的每一项都乘以相同的因子(该项是否为int、float、string、list