将一个数组映射到另一个数组

用户名

我有一系列的像这样的字典:

[{'id': 1, 'tags': ['tag_a', 'tag_b']}, {'id': 2, 'tags': ['tag_c', 'tag_b']}]

并且我想将此数组转换为基于的新数组,ticket_id并且每个tag值都应该是数组中的一个对象。

我几乎使用以下功能做到了:

raw = [{'id': 1, 'tags': ['tag_a', 'tag_b']}, {'id': 2, 'tags': ['tag_c', 'tag_b']}]

def transform(ticket):
    result = []
    for tag in ticket.get('tags', []):
        result.append({'ticket_id': ticket.get('id'), 'tag': tag, 'sync': '123'})
    return result

print(list(map(transform, raw)))

但是它返回了类似的内容[[{...}], [{...}]],语法看起来很奇怪。

什么是返回以下内容的正确方法:

[{'ticket_id': 1, 'tag': 'tag_a', 'sync': '123'}, {'ticket_id': 1, 'tag': 'tag_b', 'sync': '123'}, ...]
胡安帕·阿里维利亚加

您只需要整理结果。本质上,您在需要平面地图操作时使用了地图操作。

您可以通过使用嵌套列表理解来一次性完成此操作:

[x for ticket in raw for x in transform(ticket)]

当然,您可以执行以下操作:

[x for xs in map(transform, raw) for x in xs]

或者只是一个常规的嵌套循环将起作用。

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

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

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

将一个数组的值映射到另一个

AngularJS将数组映射到另一个数组

如何将对象映射中的数组映射到另一个数组

将值从一个数组映射到另一个 C# 的通用扩展方法

PHP-如何将一个数组的元素作为键映射到另一个数组,并以数组的形式返回结果值?

Python-一种“比较”将一个数组映射到另一个数组的简便方法

基于另一个数组映射一个数组

将数组中的任意值映射到另一个数组中存在的颜色

将一个数组推到另一个数组的末尾

将元素从一个数组移到另一个数组

将一个数组设置为另一个数组

将一个数组分组以匹配另一个数组

将一个数组排序为另一个数组-C

如何将一个数组与另一个数组排序

将一个数组与另一个数组值拼接

Ruby:将一个数组“弹出”并推入另一个数组

将一个数组推入另一个数组-嵌套

将一个数组拆分为另一个数组?

将元素从一个数组移到另一个数组

将一个数组合并到另一个数组

将一个数组与另一个数组混洗

如何将一个数组映射到另一个具有不同值的数组(angularJs)

熊猫,将一个数据框映射到另一个?

Javascript将obj数组与另一个数组映射以获得不同的键值

通过使用javascript向数组添加属性来插入映射到另一个数组索引的数组

如何将数组值从一个数组映射到另一数组JavaScript?

一个数组另一个

如何将对象数组中的项目映射到另一个数组中的状态

将另一个数组作为属性放入另一个数组失败