Зачем в кортежах в конце ставят запятую?
В Python часто кортежи объявляются как:
some_tuple = (
val1,
val2,
val3,
)
Слышал, что не оставлять запятую в конце (после val3) считается плохой практикой. Для чего это делается?
Ответы (2 шт):
Автор решения: rotabor
→ Ссылка
Всё очень банально - это для удобства вставки или удаления элементов строками.
Автор решения: CrazyElf
→ Ссылка
Вообще-то и списки можно так же объявлять.
lst = [
1,
2,
3,
]
И я считаю проставление "запасной" запятой хорошей практикой. По нескольким причинам:
- Однообразие - все строчки в коллекции равноправны, их можно легко поменять местами или скопировать из другой коллекции, и не нужно думать, где при этом убрать запятую, а где добавить. Ставь запятую в конце каждой строчки, а Питон сам разберётся, какие запятые нужны, а какие нет.
lst = [
2,
42,
3,
1,
]
- Не будет проблемы, если это кортеж, вы удалили из него все элементы кроме последнего, забыли в конце добавить запятую, и это перестало быть кортежем. Если запятая есть в каждой строке, то удаляй любые строки, кортеж всё-равно сохранится.
# это не кортеж с одним элементом 3, а просто значение 3
some_tuple = (
3
)
- Не будет проблемы с забытой запятой в коллекции строк (соседние строки в случае отсутствия запятой склеятся, а элементов в коллекции будет на 1 меньше, чем можно ожидать).
# тут две строки, а не три: "1" и "32"
strings = [
"1",
"3"
"2",
]