如何打印没有方括号的数字列表



我正在生成一个随机数字列表,但我很难弄清楚如何在没有方括号的情况下输出单行中的数字?

import random 
def generateAnswer(answerList):
listofDigits = []
while len(listofDigits) < 5:
digit = random.randint(1, 9)
if digit not in listofDigits:
listofDigits.append(digit)
return listofDigits
def main():
listofDigits = []
print(generateAnswer(listofDigits))
main()

您可以解压缩列表并使用sep参数:

print(*generateAnswer(listofDigits), sep=' ')
print(", ".join([str(i) for i in generateAnswer(listofDigits)]))

试试这个:

listofDigits = []
print(str(generateAnswer(listofDigits))[1:-1])

此外,如果generateAnswer初始化并返回列表,则不需要传入空列表。另一件事是,如果你想生成一个不重复的随机列表,你可以使用random.samplerange

我认为这更好:

import random 
def generateAnswer():
return random.sample(range(1, 10), 5)
def main():
print(str(generateAnswer())[1:-1])
main()

希望它能有所帮助!

获得方括号的原因是默认情况下list类打印方括号。要删除括号,请使用循环或字符串。join:

>>> print(' '.join(map(str, listofDigits)))
9 2 1 8 6
>>> for i in listofDigits:
print(i, end=' ')

9 2 1 8 6 

请注意,最后一个方法在末尾添加了一个空格。

请注意,在第一个方法中,需要将参数强制转换为字符串,因为只能使用join字符串,而不能使用int。

最新更新