Python:从列表中调用的str可以用作变量吗?
我不熟悉编码。我正在尝试创建代码,将随机单词替换为预设模式。我一直在尝试插入一个变量来调用一个单词列表,从中获取一个随机单词。相反,Python从变量中提取一个随机字母。我希望Python调用单词列表并从列表中提取一个随机元素 我曾尝试创建一个dict并将变量作为值调用,但结果相同。再说一次,这对我来说都是新鲜事,如果答案很简单,那么很抱歉。可能有一个我不知道的方法调用,或者我只是走错了方向。感谢您的帮助。谢谢Python:从列表中调用的str可以用作变量吗?,python,Python,我不熟悉编码。我正在尝试创建代码,将随机单词替换为预设模式。我一直在尝试插入一个变量来调用一个单词列表,从中获取一个随机单词。相反,Python从变量中提取一个随机字母。我希望Python调用单词列表并从列表中提取一个随机元素 我曾尝试创建一个dict并将变量作为值调用,但结果相同。再说一次,这对我来说都是新鲜事,如果答案很简单,那么很抱歉。可能有一个我不知道的方法调用,或者我只是走错了方向。感谢您的帮助。谢谢 GH= ['Filmed','Stonehenge','Summer'] LM= [
GH= ['Filmed','Stonehenge','Summer']
LM= ['apple','cat',"lemon"]
TQ= ['bear','orange','hat']
pats_lst = [["GH","LM","TQ"],["LM","GH","TQ"]]
# grab a random pattern
pat = (random.choice(pats_lst))
# pull random words from lists
rand_words = [random.choice(item) for item in pat]
# *** pulls random letter from str
# does not call list
print(pat)
print(rand_words)
# returns
#['LM', 'GH', 'TQ']
#['M', 'H', 'Q'] ** not ,for ex., ['cat','Summer','orange']
正如Bazingaa在is comment中所说的,您可以简单地创建对象列表,而不是字符串列表
pats_lst = [[GH, LM, TQ], [LM, GH, TQ]]
列表可以是任何类型的对象,它们甚至不需要是相同类型的对象。如果将pats_lst数组中的值放在引号中,则它们将是字符串,如果从其值中删除引号,则它们将是变量,并且您将得到随机字。您必须更改:
pats_lst = [["GH","LM","TQ"],["LM","GH","TQ"]]
致:
在第一部分中,您存储了字符串列表,而不是存储变量GH、LM、TQ中的值。因此,从列表名称中删除引号提示:您需要开始区分变量名称和变量值。一个可能需要引用,而另一个肯定不需要。也许您可以添加一些代码示例来说明您的意思?代码比文字更容易理解;)
pats_lst = [[GH, LM, TQ], [LM, GH, TQ]]