我正在学习Python,并遇到可变参数。我不理解以下代码输出的内容:
_list = [11,2,3]
def print_list(*args):
for value in args:
a = value * 10
print(a)
print_list(_list)
当我运行程序时,出现以下结果:
[11, 2, 3, 11, 2, 3, 11, 2, 3, 11, 2, 3, 11, 2, 3, 11, 2, 3, 11, 2, 3, 11, 2, 3, 11, 2, 3, 11, 2, 3]
据我理解,
value
只包含 _list
数组中的一个元素,将它乘以 10 将会得到列表 [110, 20, 30]
。为什么输出结果不同呢?
print(args)
,你会明白原因。在你的情况下,args
是([11,2,3],)
这样一个长度为1的列表元组。 - FHTMitchell