Почему Python разрешает простую запятую в списке?

Мне любопытно, почему в Python конечная запятая в списке является допустимым синтаксисом, и кажется, что Python просто игнорирует это:

>>> ['a','b',] ['a', 'b'] 

Это имеет смысл, когда его кортеж с ('a') и ('a',) – две разные вещи, но в списках?

4 Solutions collect form web for “Почему Python разрешает простую запятую в списке?”

Основные преимущества заключаются в том, что он упрощает редактирование многострочных списков и уменьшает беспорядок в diff.

Изменение:

 s = ['manny', 'mo', 'jack', ] 

чтобы:

 s = ['manny', 'mo', 'jack', 'roger', ] 

включает только однострочное изменение diff:

  s = ['manny', 'mo', 'jack', + 'roger', ] 

Это превосходит более запутанный многострочный diff, когда конечная запятая была опущена:

  s = ['manny', 'mo', - 'jack' + 'jack', + 'roger' ] 

Последний diff затрудняет увидеть, что добавлена ​​только одна строка, а другая строка не изменила контент.

Это распространенное синтаксическое соглашение, позволяющее использовать конечные запятые в массиве, такие языки как C и Java позволяют это, и Python, похоже, принял это соглашение для своей структуры данных списка. Это особенно полезно при создании кода для заполнения списка: просто сгенерируйте последовательность элементов и запятых, нет необходимости рассматривать последний как особый случай, который не имеет запятой в конце.

Это помогает устранить определенный тип ошибок. Иногда бывает проще писать списки на нескольких строках. Но, позже, вы можете захотеть переупорядочить предметы.

 l1 = [ 1, 2, 3, 4, 5 ] # Now you want to rearrange l1 = [ 1, 2, 3, 5 4, ] # Now you have an error 

Но если вы разрешаете запятые и используете их, вы можете легко перестроить строки, не введя ошибку.

Кортеж отличается тем, что ('a') расширяется с использованием неявного продолжения и () s в качестве оператора предположения, тогда как ('a',) относится к 1 кортежу.

Ваш исходный пример был бы tuple('a')

  • Покер ручная строка
  • Создание списка из файла в Python
  • Сортировка списка словарей несколькими клавишами с различным порядком
  • Найти начальные и конечные индексы подсписок в списке
  • Цикл Python в
  • list extend () в индекс, вставляя элементы списка не только до конца
  • Создайте пару координат из этого кода
  • как получить все ключи и значения во вложенном dict-of-dicts и dicts?
  • Python - лучший язык программирования в мире.