print(''.join(map(str,range(1,n+1))))
str은 (는) 무슨 일을하고있는가? 어떻게 한 줄이 출력은 내가 어떤지도 알고 수행에 참여하지만 여전히 나는이 모든 코드파이썬 : 아무도이 한 줄 코드를 설명 할 수 있습니까?
print(''.join(map(str,range(1,n+1))))
str은 (는) 무슨 일을하고있는가? 어떻게 한 줄이 출력은 내가 어떤지도 알고 수행에 참여하지만 여전히 나는이 모든 코드파이썬 : 아무도이 한 줄 코드를 설명 할 수 있습니까?
numbers_one_to_n = range(1,n+1)
numbers_as_strings = map(str, numbers_one_to_n)
numbers_joined_to_single_string = ''.join(numbers_as_strings)
print(numbers_joined_to_single_string)
print(''.join(map(str,range(1,n+1))))
당신은 map
가 무엇을 알고 말과 명확하지 않다?입니까? 문서는 말한다 :
map(function, iterable, ...)
Return an iterator that applies function to every item of iterable, yielding the result.
그래서 str
는 기능입니다. iterable은 range
의 정수입니다 (Python 3에서는 range
객체입니다).
str
은 인수에서 생성 된 문자열 객체를 반환합니다.
따라서 범위의 각 정수에 대해 str
이 호출됩니다.
print(''.join([str(i) for i in range(1,n+1)]))
''
가 접합하는 요소 (문자열에 문자열 서열 또는 문자 스트링) 사이에 사용되는 세퍼레이터이다 map
에
대안
일부 밖의 원하는 리스트 통합이다. 예를 들어 :>>> '-'.join(('foo', 'bar'))
'foo-bar'
>>> '-'.join('bar')
'b-a-r'
str
은 형태와 유형으로 변환 할 수있는 기능입니다. 따라서 map(str, list_of_integers)
은이 목록을 문자열 목록으로 변환합니다. map
은 입력 목록의 각 요소에 함수를 적용하여 출력 목록을 가져 오기 때문에.
그래서 문자열 목록으로 변환 된 1에서 (n + 1)까지의 범위를 가지며이 목록은 빈 슬리 터 ''
과 연결되었습니다.
'str'은 객체 표현을 문자열로 가져 오는 함수입니다. 그래서 map은'range (1, n + 1)'의 모든 숫자를 문자열로 변환하고 그것을 연결합니다. –
이 코드가 어떻게 작동하는지 배우는 가장 좋은 방법은 그것을 분해하는 것입니다. 각각의 비트를 개별적으로 시도하고 그 비트가 무엇을하는지보십시오. 또한, 여기서 가장 까다로운 것은 아무것도 없습니다. 설명서를 읽으십시오. – SiHa
기본적으로' "".join ([str (i) range (1, n + 1)])')'과 같이, 각 int를 str에 캐스트하기 위해 map을 사용합니다. –