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

时间:2013-11-27 11:38:59

标签: python

我有这个元组:

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] 

我该怎么做?

3 个答案:

答案 0 :(得分:3)

试试这个

results = (lev_name,) + results

您无法添加到索引0.因为元组是不可变的..:)

答案 1 :(得分:1)

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

答案 2 :(得分:0)

也让它成为一个元组。这样做:

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