删除lis中的元组

2024-09-30 01:24:31 发布

您现在位置:Python中文网/ 问答频道 /正文

我有这些清单:

sqvaluelist = []
valuelist = [(10.5,), (20.5,), (21.5,), (70.0,), (34.5,)]

我想将此代码应用于价值表:

^{pr2}$

但我收到了一个错误:

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

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

我的问题是,有没有办法把这些值从它们各自的元组中去掉,然后把它们变成一个像

valuelist = [10.5, 20.5, 21.5, 70.0, 34.5]

而不是手动编辑现有列表的结构以便执行for循环?在

编辑:我道歉!它们实际上是元组!在每个值后添加逗号。对不起的!在


Tags: 代码编辑by错误canmultiplyint元组
3条回答
valuelist = [(10.5), (20.5), (21.5), (70.0), (34.5)]

是整数的列表:

^{pr2}$

(10.5)是一个整数。(10.5,)是一个整数的元组。在

因此:

>>> sqvaluelist = [x*x for x in valuelist]
>>> sqvaluelist
[110.25, 420.25, 462.25, 4900.0, 1190.25]

使

valuelist = [(10.5,), (20.5,), (21.5,), (70.0,), (34.5,)]

进入

^{pr2}$

我会用列表理解

valuelist = [x[0] for x in valuelist]

那就

import itertools
list(itertools.chain(*valuelist))

相关问题 更多 >

    热门问题