Wstawianie elementu w krotce [duplikat]
To pytanie ma już odpowiedź tutaj:
- Dodaj zmienne do krotki 8 odpowiedzi
Tak, rozumiem, że krotki są niezmienne, ale sytuacja jest taka, że muszę wstawić dodatkową wartość do każdej krotki. Więc jednym z przedmiotów jest kwota, muszę dodać nowy przedmiot obok niego w innej walucie, jak więc:
('Product', '500.00', '1200.00')
Możliwe?
Dzięki! 8 answers
Możesz wrzucić go do listy, wstawić element, a następnie wrzucić go z powrotem do krotki.
a = ('Product', '500.00', '1200.00')
a = list(a)
a.insert(3, 'foobar')
a = tuple(a)
print a
>> ('Product', '500.00', '1200.00', 'foobar')
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-02-22 07:05:46
Ponieważ krotki są niezmienne, spowoduje to utworzenie nowej krotki. Po prostu umieść go z powrotem tam, gdzie masz stary.
sometuple + (someitem,)
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-02-22 07:07:03
Koniecznie musisz zrobić nową krotkę - wtedy możesz zmienić nazwę (lub jakiekolwiek odniesienie) ze starej krotki na nową. Operator +=
może pomóc (jeśli było tylko jedno odniesienie do starej krotki), np.:
thetup += ('1200.00',)
Czy dodawanie i rebinding za jednym zamachem.Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-02-22 07:09:40
def tuple_insert(tup,pos,ele):
tup = tup[:pos]+(ele,)+tup[pos:]
return tup
tuple_insert(tup,pos,9999)
Tup: tuple
pos: Position to insert
ele: Element do wstawienia
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-07-22 18:18:47
W przypadku, gdy nie dodajesz do końca krotki
>>> a=(1,2,3,5,6)
>>> a=a[:3]+(4,)+a[3:]
>>> a
(1, 2, 3, 4, 5, 6)
>>>
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-02-22 07:10:24
Jednym ze sposobów jest przekonwertowanie go na listę
>>> b=list(mytuple)
>>> b.append("something")
>>> a=tuple(b)
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-02-22 07:07:23
T = (1,2,3,4,5)
T = t + (6,7)
Wyjście:
(1,2,3,4,5,6,7)
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-01-03 10:25:39
Możesz też kodować w prosty sposób:
T += (new_element,)
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-09-08 04:19:26