【问题标题】:How to create list of tuples from dictionary in python?如何从python中的字典创建元组列表?
【发布时间】:2021-11-22 08:43:35
【问题描述】:

我有一本字典,我想在标签之间创建一个元组列表。事实上,我想在 2 个不同标题中的每 2 个常见标签之间建立联系以绘制图表。我该怎么做?

data = [
  {
    'title': 'title1', 'tags': ['tag1', 'tag2', 'tag3']
  },
  {
    'title': 'title2', 'tags': ['tag1','tag2']
  },
  {
    'title': 'title3', 'tags': ['tag2','tag3']
  }
]

我想要什么:

edge_list = [(tag1,tag2),(tag2,tag3)]

【问题讨论】:

  • 但是您的输出与给定数据无关,对吗?您是说 tagX 应该包含在两个不同的标题中,对吧?
  • @cards 我希望成对的不同标题的相同标签在一个元组中
  • @cards 比如标签2和3都被分隔在2个标题中,所以放在一个元组中

标签: python python-3.x dictionary tuples sna


【解决方案1】:

一种方法是创建一个函数来遍历列表并获取边:

def get_edges_from_list(l):
    edges = []
    for i,x in enumerate(l[:-1]):
        edges.append((x, l[i+1]))
    return edges

然后应用、展平(使用 sum)和 drop_duplicates(使用 set):

set(sum([get_edges_from_list(x['tags']) for x in data], []))

【讨论】:

  • 非常感谢
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-08-29
  • 2020-03-07
  • 2022-11-18
  • 2019-06-02
  • 2017-05-05
  • 2019-01-19
  • 1970-01-01
相关资源
最近更新 更多