首先,一点上下文:我正在学习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
,为什么列表会保留我所有测试用例的数字?我做错了什么?