当我给python字典一个文本字符串时,我需要一些帮助来提取公共(共享)值。在
例如,假设我有一个文本字符串,例如:
mylist = ["shirt","pants","shoes","tie","jacket"]
我还使用dict()函数在字典中列出了一些品牌:
^{pr2}$我需要我的函数来返回一个公共品牌列表(任意两个共同点),其中一个给定的品牌至少有我原始列表中的两个类别。 所以对于: mylist=['衬衫','鞋子','领带','夹克']
someFunction(mylist)
退货:
[‘Zara’,’Banana_Republic’,’Alfani’,’Nike’]
一开始我试着写一个forloop,它基本上是:
brandDictionary = dict(brands)
def mappings(list, dictionary):
for category in list:
return dictionary[category]
但这只返回一个值,我需要值的字符串
所以:
mappings(mylist, brandDictionary)
给我:
['Banana_Republic']
而不是我要找的全部名单:
[‘Zara’,’Banana_Republic’,’Alfani’,’Nike’]
还请注意,在$mylist中,我的字典中没有存储“裤子”。这个函数应该只返回我在字典中匹配的值,而不返回错误。在
这可以实现
collections.Counter
。确保字典的结构不会出现重复键错误。在你不能像前面提到的那样,直接把这个列表变成字典。在
但是,您可以构建一个值为列表或集合的字典,例如
更好的是,构建一个键和值颠倒的字典,例如:
^{pr2}$如果您对set对象很熟悉,那么可以使以后的处理变得非常短:将字典值和输入搜索目标(您在顶部给出的mylist相交),然后查看结果集的长度是否至少为2。在
对于“裤子”,只要加上一张支票
正如我在评论python字典do not support duplicated keys中所说的。在
记住这一点:
也许有一种更直接、更像Python的方法。 如果我没弄错你的问题,这就是你想要的:
脚本
输出
^{pr2}$希望这有帮助!:)
相关问题 更多 >
编程相关推荐