【问题标题】:How to create nested list according to value in the list?如何根据列表中的值创建嵌套列表?
【发布时间】:2019-05-22 15:47:05
【问题描述】:

我有 2 个列表,我想用它们来创建一个嵌套列表:

list1=['a','a','b','c','d','d']
list2=['a1','a2','b','c','d1','d2']

result = [['a1','a2'],['b'],['c'],['d1','d2']]

意味着我想从 list1 中为每个项目创建一个子列表(例如,这里有 4 个列表,一个用于 a,一个用于 b,一个用于 c,最后一个用于 d);和列表“结果”存储来自 list2 的值。直到现在我从来没有做过这样的事情,我读过理解列表,但我不知道如何使用它们。

【问题讨论】:

  • 创建一个字典,其中键是来自 list1 的值,值来自 list2。如果您再次看到相同的键,则附加到 list2 中的值。最后创建一个字典值列表

标签: python-2.7 list list-comprehension nested-lists


【解决方案1】:
list1=['a','a','b','c','d','d']
list2=['a1','a2','b','c','d1','d2']

d = {}
for key, value in zip(list1, list2):
    if !key in d:
        d[key] = []
    d[key].append(value)

d.values()

[['a1', 'a2'], ['c'], ['b'], ['d1', 'd2']]

【讨论】:

  • 谢谢维沙尔!工作正常。
猜你喜欢
  • 1970-01-01
  • 2023-02-14
  • 2023-02-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多