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

标签 python arrays list

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/

相关文章:

javascript - 无法从 JavaScript 函数返回对象的属性

php - @_ -1 在 Perl 中是什么意思?

c# - 实例化一个类对象并初始化一个列表

c# - 针对列表中的每个其他项目对列表中的每个项目执行操作,并排除

python - 编写包含字典列表的 .csv 文件

python - 全局名称未在 Python 中定义

python - PyQt QFileDialog - 多目录选择

python - 在python中重新排列数据框

python - 将 PySpark DenseVector 转换为数组

javascript - 将 javascript 数组中的项目移动到特定位置的有效方法