如何从字符串列表中保存随机字符串? [复制]

Posted

技术标签:

【中文标题】如何从字符串列表中保存随机字符串? [复制]【英文标题】:How to save a random string from a list of strings? [duplicate] 【发布时间】:2016-06-02 12:09:47 【问题描述】:

如何从列表中保存随机字符串,以便稍后在代码中回忆确切的内容?例如:

name = ['Hans', 'Peter', 'Eliza']
print('Your name is ' + random(name) + '!')
print(name)

我可以在这里使用什么来代替random(name),我该如何保存它?

【问题讨论】:

【参考方案1】:

您可以使用random 模块中的choice() 方法:

import random

name = ['Hans', 'Peter', 'Eliza']
print('Your name is ' + random.choice(name) + '!')
random.choice(seq)
    Return a random element from the non-empty sequence seq.
    If seq is empty, raises IndexError.

另外,我会改用str.format()

import random

name = ['Hans', 'Peter', 'Eliza']
print('Your name is !'.format(random.choice(name)))

我错过了关于保存价值的部分。可以这样做:

name = ['Hans', 'Peter', 'Eliza']
random_name = random.choice(name)

print('Your name is !'.format(random_name))

【讨论】:

enemy = ['Zombie', 'Dragon', 'Warrior'] print('A' + random.choice(enemy) + ' 出现了!\nHealth ' + str(enemystats[0]) + '\nAttack Damage ' + str(enemystats[1]) + '\nInitiative ' + str(enemystats[2])) print('The ' + 敌人 + ' 攻击了你!') TypeError: cannot concatenate 'str' and “列出”对象 嗯? In [10]: print('Your name is ' + random.choice(name) + '!') Your name is Hans! random.choice() 只会返回列表的一个元素。添加了关于str.format() 的注释以防万一。 使用我上面发送的代码。我该怎么做? 我想保存随机选择的敌人名称(僵尸、龙或战士),然后在变量中重新使用名称,以便稍后调用它: print('The ' + 敌人 + '攻击了你!') 啊,明白了。在答案中查看我的编辑。如果您的 enemystats 列表只是一个平面列表,则不应发生您看到的关于连接字符串和列表的错误。如果是列表列表,或者其他对象的列表,则不能以这种方式打印它们(使用' '.join(my_list) 转换为字符串)。

以上是关于如何从字符串列表中保存随机字符串? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

如何从数组中选择随机字符串并将其分配给变量? [复制]

标签按钮后如何从列表中随机选择一个字符串

如何从 Python 的列表中选择随机字符串?

如何从列表中获取随机字符串值 - android [关闭]

如何生成保存到数组中的随机字符串? c# [重复]

如何从列表中的字符串末尾删除 '\n'? [复制]