我有一个很长的字典清单,大部分都没有重叠。但是,有些字典有相同的“名称”字段,我只希望字典列表中的名称是唯一的。我希望第一次出现的名字是留下来的,以后任何一个都要从列表中删除。在
我在下面列出了一个简短的列表来说明这个场景:
myList = [
{'Name':'John', 'Age':'50', 'Height':'70'},
{'Name':'Kathy', 'Age':'43', 'Height':'65'},
{'Name':'John','Age':'46','Height':'68'},
{'Name':'John','Age':'50','Height':'72'}
]
我希望此列表返回第一个John和Kathy,但不返回第二个或第三个Johns及其相关信息。在
一个可接受的,但不是最佳的解决方案,也就是不要将同名词典放在一起。在
初始列表:
合乎逻辑的(可能对新手更友好)方式:
^{pr2}$一条直线:
注意:一行程序将包含每个名称的第一次出现,但它将返回一个任意排序的列表。在
您可以很容易地为此编写for循环。在
您可以浏览列表并保留一个
set
的唯一名称。每次遇到一个新名称(即不在集合中的名称),将其添加到集合中,并将相应的dict添加到结果中:相关问题 更多 >
编程相关推荐