【问题标题】:How to unpack values from a list stored inside another list如何从存储在另一个列表中的列表中解压值
【发布时间】:2023-01-12 19:42:47
【问题描述】:

我有一个包含一些元素的列表,一个灯和一些其他元素,比如[a, b, [c, d, e], f, g],我想得到[a, b, c, d, e, f, g]。我尝试使用我不熟悉的 itertools,但我没有成功:

from itertools import chain

a = 1
b = 2
c = [3, 4, 5]
d = 6
e = 7

list(chain(a, b, c, d, e))

它抛出一个 TypeError

任何帮助表示赞赏!

【问题讨论】:

  • 不太清楚您的输入是什么以及您期望的输出是什么
  • 您发布的代码与您的描述所说的您正在尝试做的完全不同。发布的代码中只有一个列表,并且不包含子列表。
  • c 之外的任何其他内容都不可迭代,因此无法传递给itertools.chain()。现在这是 XY 问题。你到底想达到什么目的?可能是[a, b, *c, d, e],但实际上取决于大局

标签: python list unpack


【解决方案1】:

您可以检查类型,然后扩展或附加为;

a = 1
b = 2
c = [3, 4, 5]
d = 6
e = 7

l = []
for i in [a,b,c,d,e]:
    l.extend(i) if isinstance(i, list) else l.append(i)

【讨论】:

    猜你喜欢
    • 2022-07-31
    • 1970-01-01
    • 1970-01-01
    • 2019-09-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多