Plebiscyt na nazwę funkcji która zwraca nową trochę zmienioną krotkę:
Mam pustkę w głowie,a aktualna jest tragiczna…
def copyChangeTuple(tup, prevObj, newObj):
i = tup.index(prevObj)
return tup[:i] + (newObj,) + tup[i + 1:]
Plebiscyt na nazwę funkcji która zwraca nową trochę zmienioną krotkę:
Mam pustkę w głowie,a aktualna jest tragiczna…
def copyChangeTuple(tup, prevObj, newObj):
i = tup.index(prevObj)
return tup[:i] + (newObj,) + tup[i + 1:]
tuple_insert_after(tup,prev, new)
EDIT:
nie ogarnąłem indeksów w funkcji i sądziłem że wstawia za prev, ponieważ podmienia wartość w krotce nazwałbym
tuple_replace
def replace_in_tuple(tup, prev, new):
return (new if el == prev else el for el in tup)
notka: to zwraca generator, jeżeli chcesz mieć gotową krotke to dorzuć tuple()
def tuple_replace_first(tup, prev_val, new_val): ...
to _first
budzi niepokój, fajnie by było albo wszystkie zmienić, albo zmienić coś pod konkretnym indeksem
uwaga: mój środek funkcji zmienia semantyke, nie zastępuje pierwszego, tylko każdy pasujący