繁体   English   中英

TypeError:+的不支持的操作数类型:'float'和'tuple'

[英]TypeError: unsupported operand type(s) for +: 'float' and 'tuple'

我有这个元组:

results[0]

#0 tuple(7) 
    [0] => int(375851) 
    [1] => str(26) "joaquina gisela dos sanots"
    [2] => str(10) "1963-11-24"
    [3] => int(378129) 
    [4] => str(26) "Joaquina Gisela Dos Santos"
    [5] => str(10) "1963-11-24"
    [6] => float(1.0) 

我想将此浮点数添加到索引0:

lev_name = float(0.92) 

预期产量:

#0 tuple(8) 
    [0] => float(0.92) 
    [1] => int(375851) 
    [2] => str(26) "joaquina gisela dos sanots"
    [3] => str(10) "1963-11-24"
    [4] => int(378129) 
    [5] => str(26) "Joaquina Gisela Dos Santos"
    [6] => str(10) "1963-11-24"
    [7] => float(1.0) 

我在尝试这个:

results = lev_name + results[0] 

我怎样才能做到这一点?

尝试这个

results = (lev_name,) + results

你不能添加到索引0.因为元组是不可变的.. :)

results = tuple([lev_name] + list(results))

您不希望将lev_name的值添加到results的第一个索引中已有的值,对吗? 您想插入lev_name的值,使其位于results的第一个位置?

我的建议(上面)是 - >创建一个仅包含lev_name的列表,将results解压缩到列表中,连接两个列表以使lev_name位于第一个位置,并将结果列表转换回元组。

或者你可以将结果保留为列表,因为如果你要修改很多东西,元组可能不是最好的结构。

如果你死在一个元组上,我认为直接这样做是有意义的,正如其他人所说:

results = (lev_name,) + results

创建lev_name的单个元组,并with results连接。

使它成为一个元组。 像这样做:

>>> a = ()
>>> a = a+ ('a',)
>>> a
('a',)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM