본문 바로가기

Python/Basic

[파이썬 기초] 파이썬 리스트 List 기초 완전 정복 2 < List 메소드 정리 >

 

안녕하세요 오늘은 저번 시간에 이어서 Sequence Type 의 List 기초 완전 정복 2 를 나아가 보겠습니다. 

 

https://allhpy35.tistory.com/11

 

[파이썬 기초] 파이썬 List 기초 완전 정복 1

오늘은 파이썬의 List에 대해서 알아보겠습니다. List ? 0 혹은 그 이상의 요소로 만들어진다 콤마( , )로 구분되며 대괄호( [ ] )로 둘러 쌓여있다 데이터를 순차적으로 파악하는데 유용하다 문자열과는 달리 리..

allhpy35.tistory.com

이전글을 꼭 보고 차근차근히 보고 와주세요

 

 

저번 시간에 이어서 리스트의 함수들을 이용하여 추가하였습니다 

이번에는 리스트의 요소를 삭제하거나 리스트를 복사하거나 그외의 7개의 함수를 알아보겠습니다

 

 

 

 

 

항목을 삭제하기 앞서서 삭제하기 위해서는 어떤 것 부터 알아야 할 까요? 

삭제하려는 것이 어떤건지 부터 알아야 겠죠? 

 

그러기 위해서 쓰는 것이 offsetelement 입니다  

 

 

 

Offset 으로 항목삭제  : del 

 

 

 

 

 

del 리스트[offset]

삭제하고싶은 리스트 element(요소)의 offset을  대괄호 안에 넣어주시면 됩니다

여기서 주의 할 점이 하나 있습니다. 

리스트의 element를 삭제하게 되면 

삭제 되지 않은 element들이 한칸씩 앞으로 당겨지게 됩니다

그리고 리스트의 길이도 감소하게됩니다. 

 

 

위의 사진을 보시면 

삭제하기전 num[0] 에 위치하는 숫자는 1 이였습니다

하지만 삭제한 후의 num[0] 에 위치하는 숫자는 2 입니다

 

 

삭제하기전 리스트의 길이 len(num) : 5

삭제한 후 리스트의 길이 len(num)   : 4 

 

삭제하기 전과 후 의 길이도 변화 한것을 알 수 있습니다. 

 

 

 

 

 

리스트.remove(삭제하고싶은 element)

offset으로 만 삭제 할 수 있는 것이

아닌 리스트안에 들어있는 element 들로도 삭제 할수 있습니다

 

*삭제 하고싶은 element 를 적을 때 문자열이면 작은따옴표( ' ' ) 혹은 큰 따옴표 ( " " ) 로 둘러 싸주세요

 

위와 같은 방식으로 삭제 합니다

 

 

 

*offset 으로 삭제한 방법처럼 리스트의 길이는 줄어들고  element가 한칸씩 앞으로 이동합니다.

 

 

 

리스트.pop(offset)

리스트의 element를 가져오는 동시에 offset에 해당하는 요소를 삭제한다

위 사진과 같이 

hangul.pop(0) 의 형식으로 하면 삭제된 요소를 반환 한다 

 

리스트.pop() 결과와 리스트.pop(-1) 결과가 같은 걸 볼 수 있다. 

 

 

존재여부 확인하기 in

리스트에서 어떤 값의 존재를 확인하는데 in을 사용한다.

리스트에는 같은 값이 여러개 존재 할 수 있다 만약 존재 한다면 True 를 반환한다

 

위의 사진과 같이 문자열이면 작은 따움표를 꼭 써줘야한다.

 

 

 

특정 값이 얼마나 들어있나 : count() 

리스트에서 특정값이 얼마나 들어있나 확인 하기위해서는 count() 를 사용한다. 

다음과 같이 만들어 준 다음에 숫자 1을 카운트 해보았습니다. 

 

 

리스트 정렬 : sort() sorted() 

 기본정렬 방식은 오름 차순이다.

숫자일경우 오름차순 문자열인 경우는 알파벳순으로 정렬 된다

 

리스트.sort() : 리스트 자체를 내부적으로 정렬  

 

리스트의 내부 요소들의 위치를 바꾸어 저장한다

 

 

 

sorted(리스트) : 리스트의 정렬된 복사본을 반환

sorted(newNum) 을 하여도 원래 newNum 리스트의 요소들의 배열은 바뀌지 않는다.

 

 

소수점이들어간 숫자들도 정렬이 가능하다 이건

파이썬에서 자동으로 형변환 하여 정렬해준다는걸 기억하자

 

  *내림차순으로 정렬하는 방법 : 리스트.sort(reverse = True)

       T를 소문자로 하면 오류가난다. 

 

 

리스트의 복사와 할당 

 

먼저 할당 부터 설명하겠습니다

a 리스트를 b 리스트에 할당한후 a의 가장 처음 요소를 'boom' 으로 바꿨더니 

b 리스트에있는 값도 바뀌였다.

 

 

 

빈 리스트 b에 a.copy() 를 한 후 

a[0] = 'wow' 

a의 0번째 요소를 문자열 'wow' 로 바꾸어도 리스트 b에 영향을 주지 않습니다. 

 

 

 

영향을 주지 않고 리스트를 생성하는 방법에는 3가지가 있습니다.

 

a = [1,2,3]

 

b = a.copy()

 

c = list(a)

 

d = a[:]

 

이와 같이 3가지 입니다