如何从字符串列表中保存随机字符串? [复制]
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)
转换为字符串)。以上是关于如何从字符串列表中保存随机字符串? [复制]的主要内容,如果未能解决你的问题,请参考以下文章