logo

목록을 문자열로 변환하는 Python 프로그램

목록이 주어지면, 주어진 목록을 문자열로 변환하는 Python 프로그램을 작성하세요. 목록이 주어지고 이를 Python에서 문자열로 변환할 때 직면할 수 있는 다양한 상황이 있습니다.

예를 들어 문자열 목록 또는 정수 목록에서 문자열로 변환합니다.



  Input:   ['Geeks', 'for', 'Geeks']   Output  : Geeks for Geeks   Explanation:   The Input is of list data type but the output is of string datatype>

목록을 문자열로 변환하는 프로그램

  • for 루프 사용
  • .join() 메소드 사용
  • 안에 노래 목록 이해
  • 지도() 사용 기능
  • 열거 함수 사용
  • 연산자에서 사용
  • functools.reduce 메소드 사용
  • str.format 메소드 사용
  • 재귀 사용

for 루프를 사용하여 Python 목록을 문자열로 변환

다음을 사용하여 목록을 반복합니다. for 루프 빈 문자열의 모든 인덱스에 대한 요소를 계속 추가하면 이것이 우리가 가진 최종 문자열이 문자열 데이터 유형이 되는 방식입니다.

파이썬3








# Python program to convert a list to string> def> listToString(s):> ># initialize an empty string> >str1>=> ''> ># traverse in the string> >for> ele>in> s:> >str1>+>=> ele> ># return string> >return> str1> # Driver code> s>=> [>'Geeks'>,>'for'>,>'Geeks'>]> print>(listToString(s))>

>

>

산출

techcodeview.com>

시간 복잡도: 에)
보조 공간: 에)

Python 목록을 문자열로 변환 Join() 메소드 사용

목록을 입력으로 사용하는 함수 listToString(s)입니다. 함수 내에서 빈 문자열 str1이 초기화됩니다. 그만큼 조인() 함수 그런 다음 공백 문자를 구분 기호로 사용하여 입력 목록 s의 요소를 단일 문자열로 결합한 결과를 반환합니다. 드라이버 코드는 목록 s를 초기화하고, listToString(s) 함수를 호출하고, 목록 요소를 공백과 결합한 결과를 인쇄합니다.

참고: 하지만 목록에 문자열과 정수가 모두 요소로 포함되어 있으면 어떻게 될까요? 이러한 경우 위 코드는 작동하지 않습니다. 문자열에 추가하는 동안 문자열로 변환해야 합니다.

파이썬3




# Function to convert> def> listToString(s):> ># initialize an empty string> >str1>=> ' '> ># return string> >return> (str1.join(s))> > > # Driver code> s>=> [>'Geeks'>,>'for'>,>'Geeks'>]> print>(listToString(s))>

>

>

산출

Geeks for Geeks>

시간 복잡도: 에)
보조 공간: 에)

목록 이해를 사용하여 목록을 문자열로 변환

여기서 우리는 사용할 것입니다 목록 이해 아래 코드는 구현을 보여 주듯이 목록을 문자열로 변환합니다.

파이썬3




# Python program to convert a list to string using list comprehension> s>=> [>'I'>,>'want'>,>4>,>'apples'>,>'and'>,>18>,>'bananas'>]> # using list comprehension> listToStr>=> ' '>.join([>str>(elem)>for> elem>in> s])> print>(listToStr)>

>

>

산출

I want 4 apples and 18 bananas>

시간 복잡도 : 프로그램의 시간 복잡도는 O(n)입니다. 여기서 n은 목록의 각 요소를 한 번 반복하기 때문에 목록 s의 길이입니다.
공간 복잡도: 프로그램의 보조 공간 복잡도는 O(n)입니다. 목록 이해를 사용하여 새로운 문자열 목록을 생성하기 때문입니다.

map() 함수를 사용하여 목록을 문자열로 변환

사용 지도() 메서드 str을 (목록의 요소를 문자열로 변환하기 위해) 주어진 반복자 목록으로 매핑합니다. 아래 코드는 map() 함수를 사용하여 구현한 코드입니다.

파이썬3




# Python program to convert a list to string using list comprehension> > s>=> [>'I'>,>'want'>,>4>,>'apples'>,>'and'>,>18>,>'bananas'>]> # using list comprehension> listToStr>=> ' '>.join(>map>(>str>, s))> print>(listToStr)>

>

>

산출

I want 4 apples and 18 bananas>

시간 복잡도 : 이 코드의 시간 복잡도는 O(n)입니다. 여기서 n은 목록 s의 길이입니다.
공간 복잡도: 이 코드의 공간 복잡도는 O(n)입니다. 여기서 n은 목록 s의 길이입니다.

문자열로 나열 사용하여 열거 함수

코드는 목록의 요소를 공백으로 구분하여 단일 문자열로 변환합니다. s의 요소를 반복하고, 각 요소를 문자열로 변환하고, 공백 구분 기호를 사용하여 요소를 결합합니다. 그런 다음 결과 문자열이 인쇄됩니다.

파이썬3




s>=> [>'I'>,>'want'>,>4>,>'apples'>,>'and'>,>18>,>'bananas'>]> listToStr>=> ' '>.join([>str>(elem)>for> i,elem>in> enumerate>(s)])> print>(listToStr)>

>

>

산출

I want 4 apples and 18 bananas>

시간 복잡도: 에)
보조 공간: 에)

다음을 사용하여 문자열로 나열 연산자에서

코드는 목록 s의 각 요소 i를 반복하여 인쇄합니다. end=는 개행 문자 대신 각 요소 뒤에 공백을 인쇄해야 함을 지정하므로 요소는 공백으로 구분된 동일한 줄에 인쇄됩니다.

파이썬3




s>=> [>'Geeks'>,>'for'>,>'Geeks'>]> for> i>in> s:> >print>(i,end>=>' '>)>

>

>

산출

Geeks for Geeks>

시간 복잡도: 에)
보조 공간: 에)

목록을 다음으로 변환 functools.reduce 메소드 사용

이 코드는 다음의 Reduce() 함수를 사용합니다. functools 모듈 목록의 요소를 단일 문자열로 결합합니다. 람다 함수(lambda a, b: a + + str(b))를 적용하여 각 요소 b를 이전 결과 a와 순차적으로 연결합니다. 그런 다음 결과 문자열이 인쇄됩니다.

파이썬




from> functools>import> reduce> s>=> [>'I'>,>'want'>,>4>,>'apples'>,>'and'>,>18>,>'bananas'>]> listToStr>=> reduce>(>lambda> a, b : a>+> ' '> +>str>(b), s)> print>(listToStr)>

>

>

산출

I want 4 apples and 18 bananas>

시간 복잡도: 제공된 Python 코드의 시간 복잡도는 O(n)입니다. 여기서 n은 입력 목록의 요소 수입니다.
공간 복잡도: 코드의 공간 복잡도는 O(n)입니다. 여기서 n은 입력 목록 s의 요소 수입니다.

str.format 메소드를 사용하여 문자열로 나열

Python에서 목록을 문자열로 변환하는 또 다른 방법은 다음을 사용하는 것입니다. str.format 메소드 . 이 방법을 사용하면 문자열 템플릿을 지정한 다음 목록의 요소로 자리 표시자 값을 채울 수 있습니다.

예를 들어:

파이썬3




lst>=> [>'Geeks'>,>'for'>,>'Geeks'>]> # Convert the list to a string using str.format> result>=> '{} {} {}'>.>format>(>*>lst)> print>(result)># Output: Geeks for Geeks> #This code is contributed by Edula Vinay Kumar Reddy>

>

>

산출

Geeks for Geeks>

이 접근 방식은 문자열 템플릿의 형식 지정 자리 표시자를 사용하여 목록의 요소 형식을 지정하는 방법을 정확하게 지정할 수 있다는 장점이 있습니다. 예를 들어, 부동 소수점 숫자의 소수 자릿수 또는 출력 문자열의 너비와 정렬을 지정할 수 있습니다.

git pull 오리진 마스터

파이썬3




lst>=> [>1.2345>,>'good'> ,>3.4567>]> # Convert the list to a string using str.format> result>=> '{:.2f} {} {:.2f}'>.>format>(>*>lst)> print>(result)># Output: 1.23 2.35 3.46> #This code is contributed by Edula Vinay Kumar Reddy>

>

>

산출

1.23 good 3.46>

시간 복잡도: 위 접근 방식의 시간 복잡도는 목록의 길이에 따라 달라집니다. 예를 들어 방법 1에서는 목록을 반복하고 각 요소를 문자열에 추가하므로 시간 복잡도는 O(n)이 됩니다. 여기서 n은 목록의 길이입니다.
마찬가지로 다른 방법의 시간 복잡도도 O(n)입니다.
공간 복잡도: 목록의 요소를 저장하기 위해 크기가 n인 새 문자열을 생성하므로 위의 모든 방법의 공간 복잡도도 O(n)입니다.

Python 목록을 문자열로 변환 재귀 사용

코드 재귀적으로 요소를 연결하여 목록 l을 문자열 단어로 변환합니다. 시작 인덱스에서 시작하여 현재 요소를 단어에 추가하고 목록 끝에 도달할 때까지 프로세스를 계속합니다. 그런 다음 결과 문자열이 인쇄됩니다.

파이썬3




def> list_string(start, l, word):> >if> start>=>=> len>(l):> >return> word># base condition to return string> >word>+>=> str>(l[start])>+>' '> # concatenating element in list to word variable> >return> list_string(start>+>1>, l, word)># calling recursive function> # Driver code> l>=> [>'Geeks'>,>'for'>,>'Geeks'>]># defining list> print>(list_string(>0>, l, ''))>

>

>

산출

Geeks for Geeks>