0
Итак, у меня есть кортеж вроде этого:Замена последнего значения в списке кортежей
a=[(1, 2, 3), (4, 5, 6), (7, 8, 9)]
и я хочу, чтобы заменить последнее значение каждого кортежа с 100. Так что я могу сделать:
b=[(t[0],t[1],) + (100,) for t in a]
это дает мне это:
[(1, 2, 100), (4, 5, 100), (7, 8, 100)].
Что ярлык? Эти кортежи, в реале, имеют в нем 50 элементов?
Хотя алгоритмически 'tuple (цепочка (islice (t, 0, len (t) -1), (100,)))' немного лучше ... На практике это, вероятно, будет значительно быстрее I думаю. (+1) – mgilson
@mgilson: для более коротких кортежей кусочек кортежа будет * намного быстрее, чем 'islice()', поскольку Python будет повторно использовать кешированные объекты tuple; нет распределения памяти, детка! –