我想检查type
中的每个项目是否都在dict typeurl
中。
如果URL图像在字典中,我将保存其名称。
以下是我的代码,但我不确定这是否是一个很好的方法。
如果有更好的方法可以指导我,请指导我:
type = ['https://test/1.jpeg','https://test/3.jpeg']
typeurl = {
u'Max' : 'https://test/1.jpeg',
u'MIX' : 'https://test/2.jpeg',
u'Special': 'https://test/dd/1.jpeg',
u'Medium' : 'https://test/3.jpeg',
}
en = []
for t in type:
for i in typeurl:
if t in typeurl[i]:
print i
en.append(i)
print " | ".join(en) #output Max | Medium
答案 0 :(得分:0)
您可以使用过滤和生成器表达式来完成此操作,例如
>>> " | ".join(item for item in typeurl if typeurl[item] in types)
Max | Medium
在这里,我们遍历typeurl
的键,如果键对应的值在types
中,那么我们将它包含在生成器表达式的结果中。最后,我们将所有元素加入|
。
注意:由于我们在类型中进行查找,最好将其设置为一个集合,以便查找更快。
types = {'https://test/1.jpeg', 'https://test/3.jpeg'}
注意:名称为type
的内置函数。因此,命名具有相同名称的变量将遮蔽内置函数。这就是我使用名称types
。
答案 1 :(得分:0)
这更紧凑。
print ' | '.join([key for key, val in typeurl.iteritems() if val in type])