はい、タプルは不変であることを理解していますが、各タプルに追加の値を挿入する必要がある状況です。そのため、アイテムの1つは金額です。次のように、新しい通貨を別の通貨で追加する必要があります。
('Product', '500.00', '1200.00')
可能?
ありがとう!
リストにキャストし、アイテムを挿入してから、タプルにキャストできます。
a = ('Product', '500.00', '1200.00')
a = list(a)
a.insert(3, 'foobar')
a = Tuple(a)
print a
>> ('Product', '500.00', '1200.00', 'foobar')
タプルは不変なので、これにより新しいタプルが作成されます。古いものを入手した場所に戻します。
sometuple + (someitem,)
新しいタプルを作成する必要があります。古いタプルから新しいタプルに名前(または任意の参照)を再バインドできます。 +=
演算子が役立ちます(古いタプルへの参照が1つしかない場合)。例:
thetup += ('1200.00',)
追加と再バインドを一挙に行います。
def Tuple_insert(tup,pos,ele):
tup = tup[:pos]+(ele,)+tup[pos:]
return tup
Tuple_insert(tup,pos,9999)
tup:タプル
pos:挿入する位置
ele:挿入する要素
タプルの最後に追加しない場合
>>> a=(1,2,3,5,6)
>>> a=a[:3]+(4,)+a[3:]
>>> a
(1, 2, 3, 4, 5, 6)
>>>
t =(1,2,3,4,5)
t = t +(6,7)
出力:
(1,2,3,4,5,6,7)
1つの方法は、リストに変換することです
>>> b=list(mytuple)
>>> b.append("something")
>>> a=Tuple(b)
このように単純にコーディングすることもできます。
T += (new_element,)