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

时间:2016-03-22 15:25:08

标签: python arrays list

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

我试图在python上制作一个基本的记忆游戏。上面是我当前的代码,用于在列表中生成随机数,但我希望它打印出一个字符串而不是整数,例如'鸭'而不是每次打印时#5。我输入的内容如下:

print(x[4])

任何帮助将不胜感激

3 个答案:

答案 0 :(得分:3)

一种方法是将所有选项放在列表中,然后使用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')]

答案 1 :(得分:2)

例如,你可以使用一些包来生成随机单词 https://pypi.python.org/pypi/RandomWords/0.1.5 然后做一些像

这样的事情
from random_words import RandomWords
rw = RandomWords()
x = [rw.random_word() for _ in range(10)]
print x

如果您已经知道要使用的单词,请将其设为dict,并执行以下操作Randomly shuffling a dictionary in Python

答案 2 :(得分:1)

如果您想要字符串列表的通用答案,请遵循以下代码: -

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