Ответ 1
На основе user1474837 полезной ссылкой на Django ticket по этому вопросу, кажется очевидным, что кортежи используются для обратной совместимости с тем, как были настройки сделанные с самого начала, которые были с кортежами из-за убеждения, что они быстрее, чем списки. (Они есть, но только очень немного, согласно данным, приведенным в обсуждении билета.)
В частности, Django docs говорил:
Для настроек, которые являются последовательностями, используйте кортежи вместо списков. Это чисто для производительности.
Позже в обсуждении основной разработчик Django отмечает:
Мы, конечно, не собираемся переходить из кортежей в списки там, потому что он сломает существующий код, который уже ожидает, что все будет кортежи. Однако я удалю заметку о производительности, поскольку это не стоит пугать людей.
Обратите внимание на слово "чисто" в исходной документации, которое, если оно принимается по номинальной стоимости, означает, что параметры индикации неизменяемы, не является основанием для использования кортежей. Также обратите внимание, что кто-то в настройках ссылок на обсуждение билетов "как-то" неизменен, поэтому даже четкие настройки на самом деле неизменяемы.
P.S. Для интереса обратите внимание, что разрешение на билет заканчивается:
Изменена рекомендация "написать свои собственные настройки", чтобы отметить, что Django использует кортежи, но не делает его рекомендацией. Это может привести к бесконечному tuples vs. list.