반응형
쉼표로 구분 된 항목 목록을 출력해야하는 코드를 작성 중입니다. 목록은 for 루프로 생성됩니다. 나는
for x in range(5):
print(x, end=",")
문제는 목록의 마지막 항목과 함께 추가 된 마지막 쉼표를 제거하는 방법을 모르겠다는 것입니다. 다음과 같이 출력됩니다.
0,1,2,3,4,
끝 ','을 제거하려면 어떻게합니까?
해결 방법
print 서술문이 거의 다되었습니다.
>>> print(*range(5), sep=", ")
0, 1, 2, 3, 4
내장 된 print
는 인쇄 할 인수로 여러 항목을 사용합니다. 키워드가 아닌 인수는 sep
로 구분하여 인쇄됩니다. sep
의 기본값은 단일 공백입니다.
>>> print("hello", "world")
hello world
sep
를 변경하면 예상 한 결과가 나타납니다.
>>> print("hello", "world", sep=" cruel ")
hello cruel world
각 인수는 str ()
에서처럼 문자열 화됩니다. iterable을 print 문에 전달하면 iterable을 하나의 인수로 문자열 화합니다.
>>> print(["hello", "world"], sep=" cruel ")
['hello', 'world']
그러나 이터 러블 앞에 별표를 넣으면 별표가 별도의 인수로 분해되어 sep
의 의도 된 사용을 허용합니다.
>>> print(*["hello", "world"], sep=" cruel ")
hello cruel world
>>> print(*range(5), sep="---")
0---1---2---3---4
주어진 구분 기호를 사용하여 이터 러블을 문자열에 조인하는 다른 방법은 구분 기호 문자열의 join
메서드를 사용하는 것입니다.
>>>print(" cruel ".join(["hello", "world"]))
hello cruel world
문자열이 아닌 요소를 명시 적으로 문자열로 변환해야하기 때문에 약간 어색합니다.
>>>print(",".join([str(i) for i in range(5)]))
0,1,2,3,4
당신이 제안하는 접근 방식은 루프를 사용하여 쉼표를 추가하는 문자열을 연결하는 것입니다. 물론 이것은 정확한 결과를 생성하지만 훨씬 더 힘든 작업입니다.
>>>iterable = range(5)
>>>result = ""
>>>for item, i in enumerate(iterable):
>>> result = result + str(item)
>>> if i > len(iterable) - 1:
>>> result = result + ","
>>>print(result)
0,1,2,3,4
참조 페이지 https://stackoverflow.com/questions/32796452
반응형
'파이썬' 카테고리의 다른 글
파이썬 urllib.request 및 json 모듈을 사용하여 Python에서 JSON 객체로드 (0) | 2020.11.18 |
---|---|
파이썬 matplotlib의 리버스 컬러 맵 (0) | 2020.11.17 |
파이썬 Python 3.5의 PyCrypto (0) | 2020.11.17 |
파이썬 pandas concat ignore_index가 작동하지 않습니다. (0) | 2020.11.17 |
파이썬 파일의 각 줄을 포함하는 목록 만들기 (0) | 2020.11.17 |
댓글