2016-01-07 97 views
0

我想找到一个列表的名称,我怎么能在python中做到这一点?如何找到列表的名称

这是我的代码:

ab = "the sky is blue" #in my code i don't know what text is in ab 

#others lists... 
bannana = ["white", "red", "blue"] 
tomato = ["red", "shiny", "grey"] 
peach = ["séché", "mure", "moisi"] 
spicybannana = ['uigyig','iuig','iug'] 
#other lists... 

l1 = [bannana, tomato, peach] 

randomlist = randrange(0, len(l1)) 

for i in l1[randomlist]: 
    if i in ab: 
     #if list name contain 'bannana': 
+3

商店列表和该列表是价值,问题解决 –

+0

'if l1 [randomlist] == bannana:'比较一下,看看它们是否是相同的列表,是你在做什么? – Jkdc

+0

@Jkdc不,因为我想知道当前列表名称是否包含'bannana',因为我有其他名单bannana ...我想匹配它们全部 – mathieu

回答

2

按照@Tim_Castelijns建议 - 只要名单存放在词典:与列表名称的字典是关键

other_lists = { 
    'bannana': ["white", "red", "blue"], 
    'tomato': ["red", "shiny", "grey"], 
    'peach': ["séché", "mure", "moisi"] 
} 

randomlist = random.choice(['bannana', 'tomato', 'peach']) 
for i in other_lists[randomlist]: 
    if i in ab: 
     if 'bannana' == randomlist: # use 'in' for substring 
      ... 
+0

好的,谢谢我一直在寻找random.choice – mathieu