>>> import random
>>>
>>> choices = ["test1","test2","test3"]
>>> selected = [random.choice(choices) for _ in range(3)] # iterates 3 times, appending value of "random.choice(choices)" to the end of the list
>>> print(selected)
['test1', 'test2', 'test2']
7条答案
按热度按时间zbdgwd5y1#
这基本上与
变量值仅在您对其赋值时更改:
如果你想要一个新的随机值,你需要再次调用这个函数:
gpnt7bae2#
试试这个...
o8x7eapl3#
每次都要调用命令:
goqiplq24#
请访问random.sample docs。在您的情况下,它可能看起来像这样:
另一种选择是在适当的位置执行此操作,换句话说-通过更改
my_tests
:zhte4eai5#
如果你想把结果存储在某个地方,而不仅仅是打印,你应该使用列表解析,值将直接存储在一个新的列表中。
翻译:
顺便说一句,“_”只是一个“我不在乎”的变量,用来存储你不需要的值,如果你需要数字,你可以把它命名为一个合适的变量,比如“i”,然后使用它。
编辑:同样在你的问题得到回答后,请选择帮助你解决问题的答案。谢谢。
rks48beu6#
如果
print()
不知道如何打印一个对象,它会尝试调用__str__()
。你可以使用它来模拟print()
中随机变量的行为,方法是 Packagerandom.choice()
:这也适用于在格式化字符串中使用变量,例如
print(f'>{myTest}<')
,但对于字符串连接等运算符失败:你可以通过在
MyTest
中添加一个返回str(self)+x
的函数__add__(self, x)
来修复后者,但这不能使用'!'+myTest
。abithluo7#
首先你必须导入你的随机变量。然后你应该把你的test1,test2和test3放在一个字符串中。然后你可以得到你想要的结果,就像这样: