Python 在列表上打印字符串而不是整数

Python 在列表上打印字符串而不是整数,python,arrays,list,Python,Arrays,List,我想在python上做一个基本的记忆游戏。上面是我当前在列表中生成随机数的代码,但我希望它每次打印时都打印一个字符串而不是整数,例如“duck”而不是“5”。当我输入如下内容时: from random import shuffle x = [[i] for i in range(10)] shuffle(x) 任何帮助都将不胜感激一种方法是将所有选项放入一个列表中,然后使用它将内容重新排列到位。如果不想修改原始列表,请确保先复制一份 print(x[4]) 如果您真的需要跟踪它们的来源(即

我想在python上做一个基本的记忆游戏。上面是我当前在列表中生成随机数的代码,但我希望它每次打印时都打印一个字符串而不是整数,例如“duck”而不是“5”。当我输入如下内容时:

from random import shuffle
x = [[i] for i in range(10)]
shuffle(x)

任何帮助都将不胜感激

一种方法是将所有选项放入一个列表中,然后使用它将内容重新排列到位。如果不想修改原始列表,请确保先复制一份

print(x[4])
如果您真的需要跟踪它们的来源(即它们的原始索引),您可以使用元组保存项目及其原始索引,然后将其洗牌

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')]

例如,您可以使用一些包来生成随机单词 然后做一些类似的事情

from random import shuffle
string_list = ['a', 'b', 'c']
result = shuffle(string_list)
print(string_list)

如果您已经知道要使用的单词,请将其作为一个dict,并执行类似以下操作

duck
而不是
5
,以及什么操作而不是
7
2
3
?例如,您是否有字符串元素列表或需要通用方法?
from random_words import RandomWords
rw = RandomWords()
x = [rw.random_word() for _ in range(10)]
print x