from random import shuffle
x = [[i] for i in range(10)]
shuffle(x)
我正在尝试在 python 上制作一个基本的内存游戏。上面是我当前在列表中生成随机数的代码,但我希望它打印出一个字符串而不是一个整数,例如每次打印时都使用“duck”而不是#5。当我输入如下内容时:
print(x[4])
任何帮助将不胜感激
最佳答案
一种方法是将所有选项放在一个列表中,然后使用 random.suffle()
就地洗牌内容。如果您不想修改原始列表,请务必先制作一份副本。
items = ['duck', 'goose', 'swan']
random.shuffle(items)
# ['goose', 'duck', 'swan']
如果您真的需要跟踪它们的来源(即它们的原始索引),您可以使用元组来保存您的项目和它们的原始索引,然后将其打乱。
tupled_items = [x for x in enumerate(items)]
random.shuffle(tupled_items)
# [(1, 'goose'), (0, 'duck'), (2, 'swan')]
关于python - 在列表而不是整数上打印字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36158489/