python两个列表映射自定义

感伤

我有一个对象ID的映射:

mapping = {'id-1':'id-10', 'id-2':'id-14', 'id-3':'id-19'}

还有两个包含对象的列表,id对象的属性,例如object_id1.id = 'id-1'

list1 = [object_id1, object_id3, object_id4, object_id5]
list2 = [object_id19, object_id11, object_id14, object_id10]

我想要一个列表,其中包含那些相关对象。

output = [(object_id1, object_id10), (object_id2, object_id14),(object_id3, object_id19)]

是否可以在一个for循环中完成?

塞尔丘克

您不能在单个for循环中执行此操作,但是可以在两个(非嵌套)循环中执行此操作:

>>> mapping = {'id-1': 'id-10', 'id-2': 'id-14', 'id-3': 'id-19'}
>>> list1 = [object_id1, object_id3, object_id4, object_id5]
>>> list2 = [object_id19, object_id11, object_id14, object_id10]

构造一个查找字典,用于通过idin查找项目list2

>>> lookup_dict = {item.id: item for item in list2}

那么您可以简单地执行以下操作:

>>> output = [(item, lookup_dict[mapping[item.id]]) for item in list1 if mapping[item.id] in lookup_dict]

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

比较两个自定义列表python

从两个列表创建自定义组合

从两个列表创建自定义词典

通过两个步骤传递数据-自定义字段映射器和自定义Tasklet

如何使用两个 Google App Engine 映射两个 Google 自定义域

将两个列表与自定义对象进行比较,但表现不符合我的预期(词法比较)-Python

使用 Python 中的自定义方法填充矩阵主体时,从两个列表中创建矩阵

对于从自定义类映射的HashMap,如何使它成为映射两个相等的键以表示值?

如何使用 Java 8 合并两个不同类型的自定义对象列表

R - 两个向量的外积,使用自定义 FUN 返回列表

从两个列表创建自定义字符串

将两个不同的自定义对象列表与流相交和并集

SQL-创建两个日期之间的自定义日期列表

使用自定义等于函数在Kotlin中减去两个列表

用于从角度5中的两个日期进行列表过滤的自定义管道

从两个自定义对象列表中删除公共元素

如何在 C# 中合并两个自定义类型列表

使用自定义比较器功能压缩两个列表的标准方法

如何基于两个自定义对象删除列表中的重复项

自定义两个列表框的样式,一个在另一个内部

声明两个自定义块。

使用自定义规则比较两个哈希

两个视图之间的自定义循环过渡

合并两个自定义对象类型的ArrayList

比较两个自定义LIST对象

比较两个自定义格式的日期jQuery

SQLite:自定义联接两个表?

Keras 自定义合并两个张量

基于内容的两个自定义tableviewcell的高度