[PYTHON] 후행 쉼표가 목록에서 허용되는 이유는 무엇입니까?
PYTHON후행 쉼표가 목록에서 허용되는 이유는 무엇입니까?
나는 왜 파이썬에서 목록에있는 후행 쉼표가 유효한 구문인지 궁금하다. 파이썬이 단순히 그것을 무시하는 것 같다.
>>> ['a','b',]
['a', 'b']
( 'a')와 ( 'a',)가 두 개의 다른 것들이지만 목록에서 하나의 튜플 일 때 그것은 의미가 있습니까?
해결법
-
==============================
1.주요 이점은 여러 줄 목록을 쉽게 편집 할 수 있고 diff에서 혼란을 줄일 수 있다는 것입니다.
주요 이점은 여러 줄 목록을 쉽게 편집 할 수 있고 diff에서 혼란을 줄일 수 있다는 것입니다.
작고 보기 흉한 사람:
s = ['manny', 'mo', 'jack', ]
에:
s = ['manny', 'mo', 'jack', 'roger', ]
diff에서 단 한 줄만 변경하면됩니다.
s = ['manny', 'mo', 'jack', + 'roger', ]
후행 쉼표가 생략되었을 때 이것은 더 복잡한 다중 행 diff보다 우수합니다.
s = ['manny', 'mo', - 'jack' + 'jack', + 'roger' ]
후자의 차이점은 한 행만 추가되었고 다른 행은 내용을 변경하지 못하게하는 것을 어렵게 만듭니다.
또한 이렇게하는 위험을 줄입니다.
s = ['manny', 'mo', 'jack' 'roger' # Added this line, but forgot to add a comma on the previous line ]
암시 적 문자열 리터럴 연결을 트리거하여 원하는 결과 대신 s = [ 'manny', 'mo', 'jackroger']를 생성합니다.
-
==============================
2.배열에서 후행 쉼표를 허용하는 일반적인 구문 규칙이며 C 및 Java와 같은 언어에서 허용되며 Python은이 목록을 해당 목록 데이터 구조로 채택한 것으로 보입니다. 목록을 채우기위한 코드를 생성 할 때 특히 유용합니다. 요소 및 쉼표 시퀀스를 생성합니다. 마지막에 쉼표가 없어야하는 특별한 경우를 고려하지 않아도됩니다.
배열에서 후행 쉼표를 허용하는 일반적인 구문 규칙이며 C 및 Java와 같은 언어에서 허용되며 Python은이 목록을 해당 목록 데이터 구조로 채택한 것으로 보입니다. 목록을 채우기위한 코드를 생성 할 때 특히 유용합니다. 요소 및 쉼표 시퀀스를 생성합니다. 마지막에 쉼표가 없어야하는 특별한 경우를 고려하지 않아도됩니다.
-
==============================
3.특정 종류의 버그를 제거하는 데 도움이됩니다. 때때로 여러 줄에 목록을 쓰는 것이 더 명확합니다. 그러나 나중에, 당신은 항목을 재정렬 할 수 있습니다.
특정 종류의 버그를 제거하는 데 도움이됩니다. 때때로 여러 줄에 목록을 쓰는 것이 더 명확합니다. 그러나 나중에, 당신은 항목을 재정렬 할 수 있습니다.
l1 = [ 1, 2, 3, 4, 5 ] # Now you want to rearrange l1 = [ 1, 2, 3, 5 4, ] # Now you have an error
그러나 후행 쉼표를 허용하고이를 사용하면 오류가 발생하지 않고 쉽게 행을 다시 정렬 할 수 있습니다.
-
==============================
4.( 'a')가 길이 1 튜플을 참조하는 반면, ( 'a')는 암시 적 연속과 ()를 우선 처리 연산자로 사용하여 확장되기 때문에 튜플이 다릅니다.
( 'a')가 길이 1 튜플을 참조하는 반면, ( 'a')는 암시 적 연속과 ()를 우선 처리 연산자로 사용하여 확장되기 때문에 튜플이 다릅니다.
원래 예제는 튜플 ( 'a')이었을 것입니다.
-
==============================
5.주된 이유는 diff를 덜 복잡하게 만드는 것입니다. 예를 들어 목록이 있습니다.
주된 이유는 diff를 덜 복잡하게 만드는 것입니다. 예를 들어 목록이 있습니다.
list = [ 'a', 'b', 'c' ]
다른 요소를 추가하려고합니다. 다음 당신은 이것을 끝낼 것이다 :
list = [ 'a', 'b', 'c', 'd' ]
따라서 diff는 두 줄이 바뀌 었음을 보여주고, 'c'와 함께 ','를 추가하고 마지막 줄에 'd'를 추가합니다.
그래서 파이썬은 혼란을 야기 할 수있는 여분의 diff를 막기 위해리스트의 마지막 요소에 ','를 덧붙일 수 있습니다.
from https://stackoverflow.com/questions/11597901/why-are-trailing-commas-allowed-in-a-list by cc-by-sa and MIT license
'PYTHON' 카테고리의 다른 글
[PYTHON] Python pandas를 사용하여 날짜 및 시간 열 결합 (0) | 2018.10.07 |
---|---|
[PYTHON] urllib.urlopen () 다음에 close ()를 호출해야합니까? (0) | 2018.10.07 |
[PYTHON] 파이썬 URLLib / URLLib2 POST (0) | 2018.10.07 |
[PYTHON] Python 스크립트 내에서 Scrapy를 실행하는 방법 (0) | 2018.10.07 |
[PYTHON] 파이썬 int를 빅 엔디안 바이트 문자열로 변환하십시오. (0) | 2018.10.07 |