Я имею в виду этот вопрос, и особенно комментарии к первому ответу от @David Robinson и @mgilson: Суммируйте второе значение каждого кортежа в списке
Первоначальный вопрос состоял в том, чтобы суммировать второе значение каждой канавки:
structure = [('a', 1), ('b', 3), ('c', 2)]
Первый ответ:
sum(n for _, n in structure)
Второй ответ:
sum(x[1] for x in structure)
Согласно обсуждению, первый ответ на 50% быстрее.
Как только я понял, что делает первый ответ (исходящий из Perl, я Googled для специальных переменных переменной в python), мне стало интересно, как получилось то, что появляется как задача чистого подмножества (получая только второй элемент каждого кортежа по сравнению с получением и привязкой к переменным оба элемента) на самом деле медленнее? Это недостающая возможность оптимизировать доступ к индексу в Python? Я пропустил что-то, что требуется для второго ответа?