删除列表中的元组

Dar*_*sAE 0 python

我有这些清单:

sqvaluelist = []
valuelist = [(10.5,), (20.5,), (21.5,), (70.0,), (34.5,)]
Run Code Online (Sandbox Code Playgroud)

我想在valuelist上应用此代码:

for value in valuelist:
    valuesquared = value*value
    sqvaluelist.append(valuesquared,)
Run Code Online (Sandbox Code Playgroud)

但是我收到了这个错误:

TypeError: can't multiply sequence by non-int of type 'tuple'

我想我知道这个错误背后的原因,这是因为每个值都在一个单独的元组中.

我的问题是,是否有任何方法可以将这些值从各自的元组中删除,然后将它们转换为类似的列表

valuelist = [10.5, 20.5, 21.5, 70.0, 34.5]
Run Code Online (Sandbox Code Playgroud)

没有手动编辑现有列表的结构,以便可以执行for循环?

编辑:我道歉!他们实际上是元组!在每个值后添加逗号.抱歉!

okm*_*okm 6

然后就是

import itertools
list(itertools.chain(*valuelist))
Run Code Online (Sandbox Code Playgroud)

  • 不错,你也可以使用`itertools.chain.from_iterable(valuelist)` (4认同)

She*_*hep 6

要做

valuelist = [(10.5,), (20.5,), (21.5,), (70.0,), (34.5,)]
Run Code Online (Sandbox Code Playgroud)

valuelist = [10.5, 20.5, 21.5, 70.0, 34.5]
Run Code Online (Sandbox Code Playgroud)

我会使用列表理解

valuelist = [x[0] for x in valuelist]
Run Code Online (Sandbox Code Playgroud)