首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >嵌套数组的值和匹配值

嵌套数组的值和匹配值
EN

Stack Overflow用户
提问于 2016-05-03 10:27:53
回答 1查看 56关注 0票数 0

您好,我有两个需要匹配的数据集,并且它们对应的值需要相同。

代码语言:javascript
复制
list1 = [['Bob',[1,2,3,4]],['henry',[65,23,41,23]],['jerry',[5,8,10,12]]]

list2 = [['Bob',[1,2,4,3]],['jill',[36,21,34,53]],['jerry',[9,8,4,12]]]

但是,需要注意的是,在比较list1和list2时,如果与该名称关联的值不存在,则需要检查该值,然后将其添加到列表中,反之亦然。

例如,‘曾傑瑞’在list1和list2中都存在,但是5,8,10,12不等于9,8,4,12,list1和list2所需的更新将是: 9,4,5,8,10,12,因此两个列表都具有与‘曾傑瑞’关联的值,并且这些值现在匹配。在我使用的环境中,与名称关联的值的顺序并不重要。

这是一个现实世界的问题,我已经将其转换为一个相当简单的数据集。我很感谢任何提示或建议!

预期输出:

代码语言:javascript
复制
list1 = [['Bob',[1,2,3,4]],['henry',[65,23,41,23]],['jerry',[4,5,8,9,10,12]]]

list2 = [['Bob',[1,2,3,4]],['jill',[36,21,34,53]],['jerry',[4,5,8,9,10,12]]]]
EN

回答 1

Stack Overflow用户

发布于 2016-05-03 10:32:52

您可以使用set()

list3 = {k:list(set([list1[k]+list2[k])) for k in list1}

抱歉,我做了个奇怪的假设你在用字典..。

list3 = [[k,list(set([list1[k]+list2[k]))] for k in list1]

这样更好,哦,等等,不,这不是..。

list3 = [[list1[n][0],list(set([list1[n][1]+list2[n][1]]))] for n,k in enumerate(list1)]

亲爱的主啊,你在这里不用字典有什么原因吗?

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36994615

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档