【发布时间】:2020-09-12 11:46:50
【问题描述】:
我能够生成所需的输出,但我需要其中的 10 个,并且每个列表都必须是唯一的。我想到的最好的解决方案是创建第二个函数,生成一个空列表并用第一个函数的列表填充每个元素。到目前为止我得到的输出是 x 数量的列表,但它们不是唯一的,当我尝试调用第二个函数中的第一个函数时,python 给了我错误。
import random
numbers = list(range(1, 35))
out = []
final = []
print(numbers) # to see all numbers
# returns 7 unique pop'd numbers from list 'numbers' and appends them to list 'out'
def do():
for x in range(7):
out.append(numbers.pop(random.randrange(len(numbers))))
print(sorted(out))
# In other words i want to print output from function do() 10 times but each item in list has to be unique, not the lists themself
def do_ten():
for x in range(10):
final.append(out)
# do() python doesnt like this call
print(sorted(final))
do_ten()
【问题讨论】:
标签: python list function for-loop