IT/파이썬
[코딩도장] day10. 리스트 요소값 조작하기 - index(), count(), reverse(), sort(), sorted, clear()
_하늘여우_
2020. 8. 22. 22:17
■ 들어가기
- 파이썬 코딩 도장 (남재윤/길벗). 을 공부하며 정리하는 블로그
▶ Unit22. 리스트와 튜플 응용하기
- 22.1 리스트 조작하기
- 22.2 리스트의 할당과 복사 알아보기
- 22.3 반복문으로 리스트의 요소를 모두 출력하기
- 22.4 리스트의 가장 작은 수, 가장 큰 수, 합계 구하기
- 22.5 리스트 표현식 사용하기
- 22.6 리스트에 map 사용하기
- 22.7 튜플 응용하기
>> 22.1 리스트 조작하기 <<
1. 리스트에서 특정 값의 인덱스 구하기
- 사용법: index(값)
- 같은 값이 려거 개인 경우, 처음 찾은 인덱스를 return (가장 작은 인덱스)
- 존재하지 않는 값을 찾을 경우 Error 발생
>>> a = [10, 20, 30, 15, 20, 40] >>> len(a) 6 >>> a[len(a)-1] 40 >>> a.index(20) 1 >>> a.index(100) Traceback (most recent call last): File "<pyshell#16>", line 1, in <module> a.index(100) ValueError: 100 is not in list |
2. 특정 값의 개수 구하기
- 리스트에서 특정 값의 개수를 구함
- 사용법: count(값)
- 존재하지 않는 값을 찾을 경우 0 return
>>> a = [10, 20, 30, 15, 20, 40] >>> len(a) 6 >>> a.count(20) 2 >>> a.count(100) 0 |
3. 리스트의 순서 뒤집기
- 리스트의 요소의 순서를 반대로 뒤집기 위한 메서드
- 사용법: reverse()
>>> a = [10, 20, 30, 15, 20, 40] >>> len(a) 6 >>> a.reverse() >>> a [40, 20, 15, 30, 20, 10] >>> a.reverse() >>> a [10, 20, 30, 15, 20, 40] |
4. 리스트의 요소를 정렬하기
- 리스트의 요소를 작은 순서대로 정렬(오름차순)하기 위한 메서드
- 사용법:
- sort() 또는 sort(reverse=False) : 리스트의 값을 작은 순서대로 정렬 (오름차순)
- sort(reverse=True) : 리스트의 값을 큰 순서대로 정렬 (내림차순)
>>> a = [10, 20, 30, 15, 20, 40] >>> a.sort() >>> a [10, 15, 20, 20, 30, 40] >>> a.sort(reverse=True) >>> a [40, 30, 20, 20, 15, 10] |
- sort메서드와 sorted함수
- sort : 메서드를 사용한 리스트를 변경
- sorted : 정렬된 새 리스트를 생성
>>> a = [10, 20, 30, 15, 20, 40] >>> a.sort() # a의 내용을 변경하여 정렬 >>> a [10, 15, 20, 20, 30, 40] >>> b = [10, 20, 30, 15, 20, 40] >>> sorted(b) # 정렬된 새 리스트를 생성 [10, 15, 20, 20, 30, 40] >>> c = sorted(b) >>> c [10, 15, 20, 20, 30, 40] |
5. 리스트의 모든 요소 삭제
- 사용법: clear(), del 리스트[:]
>>> a = [10, 20, 30] >>> a.clear() >>> a [] |
>>> a = [10, 20, 30] >>> del a[:] >>> a [] |
6. 리스트를 슬라이스로 조작
>>> a = [10, 20, 30] >>> a[len(a):] = [500] # a.append(500)과 동일 >>> a [10, 20, 30, 500] |
>>> a = [10, 20, 30] >>> a[len(a):] = [500, 600] # a.extend([500, 600]) 동일 >>> a [10, 20, 30, 500, 600] |
7. 리스트가 비어있는지 확인
1) len 함수로 길이 구하기
>>> a = [10, 20, 30] >>> len(a) 3 >>> a.clear() >>> len(a) 0 |
2) if 조건문으로 판별하기
>>> a = [10, 20, 30] >>> if a : # 리스트에 내용이 있으면 True print('not empty') else : # 리스트에 내용이 없는 경우 print('empty') not empty >>> a.clear() >>> if a: print('not empty') else : print('empty') empty |
- 리스트에 요소가 있을 때만 마지막 요소 확인하기
>>> a = [10, 20, 30] >>> a[-1] # 리스트 마지막 요소 접근 시 인덱스 -1 지정 30 >>> a.clear() >>> a[-1] Traceback (most recent call last): File "<pyshell#148>", line 1, in <module> a[-1] IndexError: list index out of range >>> if a : print(a[-1]) else : print('list is empty') list is empty |