파이썬 리스트 추출 - paisseon liseuteu chuchul

파이썬의 리스트는 다양한 데이터타입을 가진 배열이다. 그렇기에 값을 출력하고 내가 원하는 값을 추출할 수 있다. 반복문과 인덱스를 사용하면 파이썬 리스트 하나하나의 값에 접근하여 값을 추출할 수 있다. 또한, 범위를 지정하면 범위 내의 값을 가져올 수 있다.

파이썬 리스트 추출 - paisseon liseuteu chuchul
파이썬 리스트 출력 인덱스 접근

리스트 출력

파이썬 리스트에 값을 넣고 출력을 해 보도록 한다.

반복문을 사용하여 개별 값을 하나하나 추출하고 해당 값의 인덱스까지 확인해 본다.

반복문은 for 문을 사용하고 인덱스를 확인하는 것은 List.index() 함수를 사용하면 된다.

vList = ["YG엔터테인먼트", "블랙핑크", "지수", "제니", "로체", "리사"]

print("vListStr List :", type(vList), len(vList), vList)

for lpVar in vList:
    print("vList Each :", type(lpVar), vList.index(lpVar), lpVar)

블랙핑크 멤버들 이름으로 리스트를 만들고 출력을 해 보았다.

결과를 보면 리스트 개개의 값과 인덱스까지 확인할 수 있다.

파이썬 리스트 추출 - paisseon liseuteu chuchul

인덱스를 이용한 값 추출하기

리스트의 인덱스를 이용하면 지정한 위치의 값을 가져올 수 있다.

위의 코드에서 index() 함수를 사용하여 각각의 값들에 대한 인덱스를 확인할 수 있었다.

파이썬 리스트의 인덱스는 0부터 시작함을 알 수 있다.

임의로 지정한 인덱스의 값을 가져와 보도록 한다.

vValue = vList[0]
print("vList index 0 :", type(vValue), vList.index(vValue), vValue)

vValue = vList[1]
print("vList index 1 :", type(vValue), vList.index(vValue), vValue)

vValue = vList[2]
print("vList index 2 :", type(vValue), vList.index(vValue), vValue)

목록에서 인덱스가 0번째, 1번째, 2번째인 값을 가져오도록 하였다.

결과화면을 보면 예상한 대로 0번째부터 2번째까지 지정한 인덱스대로 값을 출력한 것을 알 수 있고, 파이썬 리스트의 인덱스는 0부터 시작하는 것을 알 수 있다.

파이썬 리스트 추출 - paisseon liseuteu chuchul

범위를 지정하여 출력하기

대괄호를 이용하여 범위를 지정할 수 있다.

엑셀의 범위를 지정하는 문법과 비슷하다.

파이썬 리스트의 범위는 대괄호를 이용하고 시작인덱스와 끝인덱스를 입력해 준다.

하지면 끝인덱스의 값은 포함되지 않는다는 것을 명심하자

vRangeList = vList[2:5]
print("vList Range :", type(vRangeList), vRangeList)

for lpVar in vRangeList:
    print("vRangeList Each :", type(lpVar), vList.index(lpVar), lpVar)

시작인덱스는 2이고, 끝인덱스는 5인 경우 대괄호로 표현하면 [ 2 : 5 ] 과 같다.

파이썬 리스트의 인덱스는 0부터 시작한다.

인덱스가 2에 위치한 값은 지수 이다.

인덱스가 5에 위치한 값은 리사 이다.

하지만, 인덱스가 5인 값은 포함되지 않는다.

여기서 알 수 있는 점은 끝인덱스의 값은 포함되지 않는다.

파이썬 리스트 추출 - paisseon liseuteu chuchul

시작위치 끝위치 없을 경우

파이선 리스트에서 범위 지정시 시작위치와 끝위치를 지정하지 않아도 값을 불러올 수 있다.

시작위치를 지정하지 않는다면 처음위치인 인덱스가 0인위치부터 시작하며

끝위치를 지정하지 않는다면 마지막위치인 인덱스가 마지막인 부분까지 자동 지정된다.

vRangeList = vList[:5]
print("vList Range :", type(vRangeList), vRangeList)

vRangeList = vList[2:]
print("vList Range :", type(vRangeList), vRangeList)

위의 코드를 보면

첫번째는 시작위치를 지정하지 않았으며, 두번째는 끝위치를 지정하지 않았다.

첫번째의 경우 시작위치는 자동으로 처음위치는 0이 설정되고,
두번째의 경우 마지막위치는 자동으로 리스트의 마지막 인덱스가 설정된다.

파이썬 리스트 추출 - paisseon liseuteu chuchul

결과화면을 보면 알 수 있다.

범위를 지정함에 있어 인덱스의 끝위치를 지정할 경우 끝위치의 값은 포함되지 않는다고 했다.

첫번째의 경우 [ : 5 ] 인 경우 인덱스 0번부터 5번까지지만, 마지막 인덱스값은 포함되지 않기에 로체 까지만 값이 설정된 것을 알 수 있다.

두번째의 경우 [ 2 : ] 인 경우 인덱스 2번부터 마지막까지 인덱스가 설정된다. 지수부터 마지막까지 값이 설정된 것을 알 수 있다.

코인시던스의 기록

파이썬

[#8 파이썬 기초]리스트 항목 일부 추출(slicing), 리스트에 항목 추가, 삭제하는 법

코인시던스 2020. 10. 9. 17:28

   1. 리스트 슬라이싱 (List Slicing)

- 문자열의 Slicing 과 동일하게 리스트의 일부분을 추출해 오는 것입니다.

- 리스트(List) 타입의 슬라이싱(Slicing) 결과는 리스트(List) 타입으로 나타나는데요

- : 앞뒤로 시작 인덱스(Index)와 끝 인덱스(Index)를 적어주면 됩니다. 그 사이의 리스트를 가지고 오며, 마지막 인덱스는 포함하지 않습니다. 아래의 예시를 보면 더 이해가 쉬우실거에요. (Index 의 개념은 [#5 파이썬 기초] 를 참고해주세요.)

파이썬 리스트 추출 - paisseon liseuteu chuchul
[4:7] 은 4번째 인덱스 부터 6번째 인덱스까지를 추출합니다.(마지막 인덱스 7 은 포함하지 않으므로.)  [:5] 처럼 시작 Index 가 생략되어 있는 것은 0 부터 시작하는 것으로 간주합니다. [3:] 처럼 끝 Index 가 생략되어 있는 것은 끝 Index 까지로 간주합니다. [:] 시작, 끝 둘 다 생략하는 것은 처음부터 끝까지로 간주하기 때문에 전체를 Copy 하는것과 같은 효과이겠죠?

문자열과 마찬가지로 리스트에도 멤버함수가 굉장히 많은데 많이 사용하는 것 위주로 설명하겠습니다.

 ※ 멤버 함수란 생성된 리스트 객체에 동작하는 함수로, 향후 클래스의 개념과 함께 하겠습니다.

파이썬 리스트 추출 - paisseon liseuteu chuchul
tab 을 눌러보시면 멤버함수를 볼 수 있습니다. 여기서 다루지 않는 것도 하나씩 실행해보세요~

   2. 리스트 추가 / 삭제 / Index 확인

   (1) 리스트의 추가

  ① append 함수, append() : 리스트 끝에 항목을 추가합니다.

파이썬 리스트 추출 - paisseon liseuteu chuchul
append 함수를 이용해 원소 10 이 List 에 추가된 것을 확인할 수 있습니다.

 ② extend 함수, extend() : 리스트를 연장해줍니다.

- append 함수는 리스트 자체가 하나의 항목으로 추가 되지만, extend 함수를 사용하면 항목들을 리스트에 추가할 수 있습니다. 자세한 내용은 아래의 예시를 참조해 주세요.

파이썬 리스트 추출 - paisseon liseuteu chuchul
append 함수를 사용했더니 리스트 자체가 하나의 항목으로 추가되었죠?
파이썬 리스트 추출 - paisseon liseuteu chuchul
extend 함수를 사용하면 다른 리스트를 리스트 항목으로 추가할 수 있습니다.

 ③ insert 함수, insert() : 리스트에서 원하는 위치에 항목을 추가할 수 있습니다.

- append 함수는 마지막 위치에만 추가할 수 있지만, insert 함수는 원하는 위치에 항목을 추가할 수 있습니다. , 앞에는 Index 를 , 뒤에는 추가하고자 하는 item 을 적어주면 됩니다.

파이썬 리스트 추출 - paisseon liseuteu chuchul
 1번째 Index 에 40 이라는 값을 추가하고 싶다면 a.insert(1, 40) 라고 적으면 되겠죠?

  (2) 리스트 삭제

 ① remove 함수, remove() : 리스트의 항목을 삭제할 수 있습니다.

- shift+tab 을 누르면 함수 사용법을 확인할 수 있는데 아래에 (value, /) 라고 적혀 있는게 보이시죠? 

파이썬 리스트 추출 - paisseon liseuteu chuchul

- 지우고자하는 항목을 () 안에 넣어주시면 됩니다. 

파이썬 리스트 추출 - paisseon liseuteu chuchul

- 리스트에 동일한 항목이 여러 개 있다면 제일 앞의 것만 삭제합니다.

파이썬 리스트 추출 - paisseon liseuteu chuchul
위의 함수 설명에 보시면 Remove first occurence of value. 라고 적혀 있습니다.첫 번째 30 만 삭제된 것을 볼 수 있죠?

- 지우고자하는 항목이 없다면 에러가 발생합니다.

파이썬 리스트 추출 - paisseon liseuteu chuchul
리스트에 9 라는 항목이 없는데 remove 함수에 넣어줬더니 에러가 뜹니다.

② pop 함수, pop() : 원소를 지움과 동시에 지우고자 하는 값을 반환 시켜줍니다.

반환의 개념은 나중에 함수의 개념에 대해 설명하면서 더 자세히 다루겠습니다.

- remove 함수와 다르게 value(값) 으로 지우는 것이 아니라 index 로 항목을 삭제합니다.

파이썬 리스트 추출 - paisseon liseuteu chuchul
shift + tab 으로 함수 설명을 살펴보면 index 로 항목을 remove 하는 것을 알 수 있죠?
파이썬 리스트 추출 - paisseon liseuteu chuchul

- pop 함수는 값을 지우기도 하지만 그 값을 가지고 와서 새로운 변수에 담는 역할도 합니다.

파이썬 리스트 추출 - paisseon liseuteu chuchul