【问题标题】:Expand List within List展开列表中的列表
【发布时间】:2020-10-28 08:28:27
【问题描述】:

python中有没有一种简单的方法可以将lista扩展到listb?

lista = [['apples', ['bob','mary'], 2020],
['bananas', ['john', 'bill', 'chris'], 2019]]


listb = [['apples', 'bob', 2020],
['apples', 'mary', 2020],
['bananas', 'john', 2019],
['bananas', 'bill', 2019],
['bananas', 'chris', 2019]]

【问题讨论】:

  • 你对“简单方法”的标准是什么?您是否已经尝试过?
  • 解释一下“展开”是什么意思?显示预期输出
  • [[a, x, c] for a, b, c in lista for x in b]
  • 所谓的“扩展”,是指我想将lista转换成listb,我正在寻找解决方案。
  • @alaniwi 最好使用清晰的名称,[[fruit, name, year] for fruit, names, year in lista for name in names]

标签: python list expand


【解决方案1】:

您只想为所有中间元素重复第一个和最后一个元素?这应该有效:

listb = []
for lia in lista:
  for item in lia[1]:
    listb.append([lia[0],item,lia[2]])

【讨论】:

  • 正是我想要的!这个叫什么名字有吗?
  • @user2426152 我不知道:) 如果这解决了您的问题,您可以通过点击复选标记“接受”答案。
猜你喜欢
  • 2021-09-07
  • 2018-07-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-05-16
相关资源
最近更新 更多