Python에서 목록의 값을 바꾸는 방법은 무엇입니까?
이번 글에서는 Python을 사용하여 List의 값을 바꾸는 방법을 살펴보겠습니다. 다양한 방법으로 목록의 값을 바꿀 수 있습니다. 다음은 목록의 값을 바꾸는 방법입니다.
- 목록 인덱싱 사용
- for 루프 사용
- while 루프 사용
- 람다 함수 사용
- 리스트 슬라이싱 사용
방법 1: 목록 인덱싱 사용
인덱싱을 사용하여 목록의 항목에 액세스할 수 있습니다. 이것은 Python에서 목록의 값을 바꾸는 가장 간단하고 쉬운 방법입니다. 목록의 첫 번째 항목을 바꾸려면 인덱스 0을 사용하면 됩니다. 아래에서 index는 바꾸려는 항목의 인덱스이고 new_value는 목록의 이전 값을 바꿔야 하는 값입니다.
통사론: l[색인]=새_값
암호:
파이썬3
# Replace Values in a List using indexing> # define list> l> => [> 'Hardik'> ,> 'Rohit'> ,> 'Rahul'> ,> 'Virat'> ,> 'Pant'> ]> # replace first value> l[> 0> ]> => 'Shardul'> # print list> print> (l)> |
산출:
['Shardul', 'Rohit', 'Rahul', 'Virat', 'Pant']
방법 2: 사용 For 루프
for 루프를 사용하여 목록을 반복하고 목록의 값을 바꿀 수 있습니다. 목록의 'Hardik'과 'Pant'를 'Shardul'과 'Ishan'으로 바꾸고 싶다고 가정해 보겠습니다. 먼저 for 루프와 if 조건을 사용하여 목록에서 값을 찾은 다음 이를 새 값으로 바꿉니다.
파이썬3
# Replace Values in a List using For Loop> # define list> l> => [> 'Hardik'> ,> 'Rohit'> ,> 'Rahul'> ,> 'Virat'> ,> 'Pant'> ]> for> i> in> range> (> len> (l)):> > # replace hardik with shardul> > if> l[i]> => => 'Hardik'> :> > l[i]> => 'Shardul'> > # replace pant with ishan> > if> l[i]> => => 'Pant'> :> > l[i]> => 'Ishan'> # print list> print> (l)> |
산출:
['Shardul', 'Rohit', 'Rahul', 'Virat', 'Ishan']
방법 3: 사용 while 루프
while 루프를 사용하여 목록의 값을 바꿀 수도 있습니다. While 루프는 for 루프와 동일한 작업을 수행합니다. 먼저 while 루프에서 값이 0인 변수를 정의하고 목록을 반복합니다. 값이 바꾸려는 값과 일치하면 새 값으로 바꿉니다.
파이썬3
# Replace Values in a List using While Loop> # define list> l> => [> 'Hardik'> ,> 'Rohit'> ,> 'Rahul'> ,> 'Virat'> ,> 'Pant'> ]> i> => 0> while> i <> len> (l):> > # replace hardik with shardul> > if> l[i]> => => 'Hardik'> :> > l[i]> => 'Shardul'> > # replace pant with ishan> > if> l[i]> => => 'Pant'> :> > l[i]> => 'Ishan'> > i> +> => 1> # print list> print> (l)> |
산출:
['Shardul', 'Rohit', 'Rahul', 'Virat', 'Ishan']
방법 4: 사용 람다 함수
이 방법에서는 람다와 맵 함수를 사용하여 목록의 값을 바꿉니다. map()은 루프 문을 사용하지 않고 목록을 반복하는 Python의 내장 함수입니다. 람다는 한 줄의 표현식을 포함하는 Python의 익명 함수입니다. 여기서는 값을 대체하는 조건으로 표현식 하나를 제시했습니다. 여기서는 람다 함수에서 'Pant'를 'Ishan'으로 바꿉니다. 그런 다음 list() 함수를 사용하여 지도 객체를 목록으로 변환합니다.
통사론: l=list(map(lambda x: x.replace('old_value','new_value'),l))
파이썬3
# Replace Values in a List using Lambda Function> # define list> l> => [> 'Hardik'> ,> 'Rohit'> ,> 'Rahul'> ,> 'Virat'> ,> 'Pant'> ]> # replace Pant with Ishan> l> => list> (> map> (> lambda> x: x.replace(> 'Pant'> ,> 'Ishan'> ), l))> # print list> print> (l)> |
산출:
['Hardik', 'Rohit', 'Rahul', 'Virat', 'Ishan']
방법 5: 사용 리스트 슬라이싱
Python을 사용하면 목록 내부에서 슬라이싱을 수행할 수 있습니다. 슬라이싱을 사용하면 목록의 일부 부분에 액세스할 수 있습니다. 슬라이싱을 사용하여 목록 내부의 값을 바꿀 수 있습니다. 먼저 교체하려는 변수의 인덱스를 찾아 변수 'i'에 저장합니다. 그런 다음 목록 분할을 사용하여 해당 항목을 새 값으로 바꿉니다. 먼저 'Rahul'의 인덱스를 찾은 다음 목록 슬라이싱을 수행하고 'Rahul'을 제거하고 그 자리에 'Shikhar'를 추가하는 것보다 'Rahul'을 'Shikhar'로 바꾸고 싶다고 가정해 보겠습니다.
통사론: l=l[:색인]+['새_값']+l[색인+1:]
파이썬3
# Replace Values in a List using Slicing> # define list> l> => [> 'Hardik'> ,> 'Rohit'> ,> 'Rahul'> ,> 'Virat'> ,> 'Pant'> ]> # find the index of Rahul> i> => l.index(> 'Rahul'> )> # replace Rahul with Shikhar> l> => l[:i]> +> [> 'Shikhar'> ]> +> l[i> +> 1> :]> # print list> print> (l)> |
산출:
['Hardik', 'Rohit', 'Shikhar', 'Virat', 'Pant']
방법 6: 사용 functools.reduce 방법:
연산:
- functools에서 축소 메소드를 가져옵니다.
- 테스트 목록을 초기화합니다.
- 목록의 요소를 확인하고 새 값으로 바꾸는 테스트 목록에서 축소 메소드를 사용하십시오.
- 새 목록을 인쇄합니다.
파이썬
# Replace Values in a List using reduce> from> functools> import> reduce> # define list> l> => [> 'Hardik'> ,> 'Rohit'> ,> 'Rahul'> ,> 'Virat'> ,> 'Pant'> ]> # replace Rahul with Shikhar> l> => reduce> (> lambda> a, b : a> +> [> 'Shikhar'> ]> if> b> => => 'Rahul'> else> a> +> [b], l , [])> # print list> print> (l)> |
산출
['Hardik', 'Rohit', 'Shikhar', 'Virat', 'Pant']
시간 복잡도: O(N), 여기서 n은 입력 목록의 길이입니다.
보조 공간: O(k), 여기서 k는 새 값을 포함하는 새 목록의 길이입니다.