[英]Accessing items in lists within dictionary python
我有一个字典,其中包含与列表关联的键。
mydict = {'fruits': ['banana', 'apple', 'orange'],
'vegetables': ['pepper', 'carrot'],
'cheese': ['swiss', 'cheddar', 'brie']}
你必须使用for
,一个简单的if
不足以检查一组未知的列表:
for key in mydict.keys():
if item in mydict[key]:
print key
没有明确的for
语句的方法可能是这样的:
foundItems = (key for key, vals in mydict.items() if item in vals)
返回与item
关联的所有键。 但在内部,仍然存在某种迭代。
mydict = {'fruits': ['banana', 'apple', 'orange'],
'vegetables': ['pepper', 'carrot'],
'cheese': ['swiss', 'cheddar', 'brie']}
item = "cheddar"
if item in mydict['cheese']:
print ("true")
这是有效的,但你必须引用字典中的键,如奶酪,蔬菜等,因为你制作字典的方式,希望这有帮助!
mydict = {'fruits': ['banana', 'apple', 'orange'],
'vegetables': ['pepper', 'carrot'],
'cheese': ['swiss', 'cheddar', 'brie']}
item = "cheddar"
for key, values in mydict.iteritems():
if item in values:
print key
如果您要进行大量此类搜索,我认为您可以为原始mydict
创建反向索引以加快查询速度:
reverse_index = {}
for k, values in mydict.iteritems():
for v in values:
reverse_index[v] = k
print reverse_index.get("cheddar")
print reverse_index.get("banana")
这样,每次查找项目时都不必遍历values
列表。
输入<\/strong>
a = ["AB", "corona"]
b = ["india",'openVINO']
c = ["korea"]
d = ["26", "10.mp3", "Nvidia.mp4"]
e = ["washington DC",6]
f = ['swiss']
import itertools
lst = [a,b,c,d,e,f]
# print(lst)
lsts = list(itertools.product(*lst))
for lst in lsts:
print('\n')
for con in lst:
print(con)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.