2013-11-25 3 views
0

각 요소가 문자 인 목록이 있습니다. 이와 같이 :목록에서 항목을 되돌리고 파이썬으로 문자열로 저장하는 방법

myList = ['L', 'H', 'V', 'M'] 

그러나이 문자를 역순으로 문자열로 저장하고 싶습니다. 이와 같이 :

myString = 'MVHL' 

파이썬에서는이 작업을 쉽게 수행 할 수 있습니까? .reverse는 내 목록에서 호출 한 다음 루프를 통해 내 문자열에 항목을 추가 할 수 있습니까?

+1

"파이썬에서 목록을 역순으로 변환하는 방법"및 "파이썬에서 목록을 문자열로 변환하는 방법"검색 – dansalmo

답변

8

이뿐만 아니라 [::-1] 음의 보폭 슬라이스하는 reversed() function 있습니다 :

>>> myList = ['L', 'H', 'V', 'M'] 
>>> ''.join(reversed(myList)) 
'MVHL' 
>>> ''.join(myList[::-1]) 
'MVHL' 

모두 작업을 훌륭하게 완수 str.join() method과 결합 할 때 두 가지 중 하나 인 네거티브 스트라이드 슬라이스는 더 빠른 방법입니다.

>>> import timeit 
>>> timeit.timeit("''.join(reversed(myList))", 'from __main__ import myList') 
1.4639930725097656 
>>> timeit.timeit("''.join(myList[::-1])", 'from __main__ import myList') 
0.4923250675201416 

str.join() 실제로 목록을 원하고 입력 목록의 문자열을 두 번 전달하기 때문에 (한 번은 공백을 할당 할 때, 문자 데이터를 복사 할 때는 두 번째) 음수 슬라이스는 목록을 직접 반환하기 때문에 reversed()은 대신 반복자를 반환합니다.

5

당신은 reversed (또는 [::-1]) 및 str.join를 사용할 수 있습니다

>>> myList = ['L', 'H', 'V', 'M'] 
>>> "".join(reversed(myList)) 
'MVHL' 
관련 문제