В чем разница между methods=('GET', 'POST') и methods=['GET', 'POST']?

В чем разница между methods=('GET', 'POST') и methods=['GET', 'POST']? Кроме того что кортеж и список. Как правильнее писать?
  • Вопрос задан
  • 283 просмотра
Решения вопроса 1
@766dt
Что правильнее - в зависимости от того что нужно получить. Если это неизменяемое перечисление, то можно подстраховаться от его изменения и сделать кортеж. Если нужно будет потом в этом списке что-то добавлять/удалять, то логично взять лист.

Есть еще конечно отличие, в том что кортеж является hashable типом, что, например, позволяет использовать его целиком в качестве ключа словаря, но это я думаю не особо популярно.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@bromzh
Drugs-driven development
Не важно, всё равно внутри всё в set перегоняется:
methods = set(item.upper() for item in methods)
В доках используют список. Если сомневаешься, делай как в доках.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы