如何在Python中将列表声明为可选参数?

时间:2015-06-20 15:03:33

标签: python python-2.7

首先,一点上下文:我正在学习python(我正在使用2.7.9)并尝试进行练习,我必须首先使用一个数字来表示我的测试用例的数量。之后,每个测试用例都是一个字符串,其中包含一系列数字“2 3 5 ......”等等。由于将包含数字的单个字符串转换为整数列表很难,我创建了一个名为“stringsToInts”的函数来为我执行此操作:

def stringsToInts(words, pNumbers = []):
    for word in words:
        pNumbers.append(int(word))
    return pNumbers


print "data:"
testCases = int(raw_input())
numbers = []

while testCases > 0:    
    numbers = stringsToInts(raw_input().split(' ')) 
    testCases -= 1

print "answer:"
for number in numbers:
    print number,

但是,我发现了一些奇怪的东西。如果我在我的函数中将整数列表定义为可选参数,则会发生以下情况:

(my input in the command line)
data:
2 
2 3 4
6 7 8

(my output)
answer:
2 3 4 6 7 8

(What I expected)
answer:
6 7 8

由于我只打印numbers,为什么列表会保留我所有测试用例的数字?我做错了什么?

0 个答案:

没有答案