簡體   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