안녕하세요 오늘은 저번 시간에 이어서 Sequence Type 의 List 기초 완전 정복 2 를 나아가 보겠습니다.
https://allhpy35.tistory.com/11
이전글을 꼭 보고 차근차근히 보고 와주세요
저번 시간에 이어서 리스트의 함수들을 이용하여 추가하였습니다
이번에는 리스트의 요소를 삭제하거나 리스트를 복사하거나 그외의 7개의 함수를 알아보겠습니다
항목을 삭제하기 앞서서 삭제하기 위해서는 어떤 것 부터 알아야 할 까요?
삭제하려는 것이 어떤건지 부터 알아야 겠죠?
그러기 위해서 쓰는 것이 offset과 element 입니다
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가지 입니다
'Python > Basic' 카테고리의 다른 글
[파이썬 기초] 파이썬 딕셔너리 dict 기초 완전 정복 1 (0) | 2019.06.24 |
---|---|
[파이썬 기초] 파이썬 튜플 Tuple 기초 완전 정복 (0) | 2019.06.21 |
[파이썬 기초] 파이썬 리스트 List 기초 완전 정복 1 (0) | 2019.06.15 |
[파이썬 기초] 파이썬 문자열 내장 함수 총 정리 | [python Basic] Python String Function doc (0) | 2019.05.23 |
[파이썬 기초] 파이썬 문자열 나누기(split), 결합하기(join) | split() , join() (0) | 2019.05.22 |