- 리스트 자료형은 여러 개의 데이터를 하나의 이름 아래에 저장할 수 있어서 많은 데이터를 처리하기에 적합합니다. 리스트에 대해서 어떤 연산을 할 수 있는지와 리스트 메소드를 모두 학습하기 바랍니다. 특히 for 반복문을 이용하여 리스트를 효율적으로 이용할 수 있도록 연습합시다.
1. 리스트 만들기
- 리스트로 데이터를 묶을 때는 대괄호 기호 [ ] 를 이용하고 콤마로 데이터들을 분리합니다.
빈 리스트 만들기
- 빈 대괄호 [ ] 이용하기 >>> A = []
- list() 함수 이용하기 >>> B= list()
다른 자료형의 데이터를 리스트로 변환하기
- list()함수는 두가지 목적으로 사용한다.
- 빈 리스트를 만들 때
- 리스트가 아닌 객체를 리스트로 변환하려고 할 때
- 리스트 ←문자열 : 문자 하나씩 뗴어서 저장합니다.
- 리스트 ←사전 : # 키 만 리스트에 저장합니다.
- 리스트 ← reversed() : reversed() 함수의 결과 값은 itrerable 합니다.
- 리스트 ← range() : range() 함수의 결과 값은 itrerable 합니다.
두 리스트가 같은지 비교하기
- 같은 위치에 같은 데이터가 있어야 두 리스트가 같다고 판단합니다.
2. 리스트 인덱싱, 슬라이싱
3. 리스트 mutable 객체입니다.
- 즉 리스트 객체를 만든 다음에 리스트에 데이터를 추가,삭제, 수정이 가능하다는 뜻입니다.
인덱싱을 이용하여 리스트 수정하기
슬라이싱을 이용하여 리스트 수정하기
- 일정 범위를 수정하고자 할 때 유용합니다.
- 슬라이싱 범위에 iterable 자료형을 대입해야 합니다.
- 문자열에 있는 문자가 하나씩 분리되어 저장됨
4. 리스트에 +, * , in, not in, del 연산자 사용하기
- 리스트에 +, * , in, not in 은 문자열과 같습니다.
5. 리스트에 함수 적용하기- len(), max(), min, sum(), sorted(), reversed()
- reversed() 함수의 결과에 list() 함수를 한번 더 적용해야 리스트 결과를 볼 수 있습니다.
- L[::-1]은 리스트 L을 거꾸로 만들어 줍니다.
- 가운데 인덱스 : len(L)//2+1
6. 리스트 메소드
- dir(list)는 리스트에 적용할 수 있는 메소드 목록을 보여줍니다.
리스트에 데이터 추가하기 - append(), insert()
- append() 메소드는 데이터를 리스트 맨 끝에 추가해주고 반환값은 없습니다.
- insert(i, x)는 데이터를 원하는 위치에 삽입해준다.
리스트와 iterable 자료형 연결하기 - extend()
- extend()는 리스트에 다른 iterable 객체를 연결해 주는 메소드입니다.
- 연산자는 리스트끼리만 연결합니다.
- extend()메소드는 리스트에 iterable 자료형 어느 것이든 연결합니다.
- 리스트.extend( iterable 자료형 )
- 연산자는 리스트끼리만 연결합니다.
리스트에서 데이터 삭제하기 - pop(), remove(), clear()
- pop()메소드 :리스트에서 하나의 데이터를 삭제하고, 삭제한 데이터를 반환하는 메소드입니다.
- 인수 X : 리스트에 있는 마지막 데이터를 삭제하고 반환합니다. 빈 리스트에는 index Error
- 인수 1개: 인덱스 i에 있는 데이터를 삭제하고 반환합니다. 빈 리스트에는 index Error
- remove(x): remove() 메소드는 괄호 안에 삭제하고자 하는 데이터를 넣어합니다.
- 리스트에 x가 여러 개 있으면 맨 앞에 있는 원소만 삭제해줍니다.
- 없는 원소를 삭제하려고 하면 'ValueError'가 발생합니다.
- clear(): 모든 데이터를 삭제하고 빈 리스트로 만들어 주는 메소드입니다.
리스트 복사하기 - copy()
- copy(): 똑같은 복사본을 만드는 메소드입니다.
- 복사할 수 있는 방법 또 있다.
- [:] , [::} 이용
리스트에 있는 데이터 개수 세기 - count()
- count(x): 리스트에 데이터 x 가 몇 개 인지를 반환해 주는 메소드입니다.
리스트에 있는 데이터 위치 찾기 - index()
- 리스트에서 x의 인덱스를 알려 주는 메소드입니다.
리스트 역순으로 만들기 - reverse()
리스트 정렬하기 - sort()
- 인수없이 사용하는 경우: 오름차순으로 정렬시켜 줍니다.
- 인수가 있는 경우:
- 내림차순 인수로 'reverse = True'를 넣어 주어야 합니다.
- 아스키 코드를 기준으로 정렬해 줍니다.
- 'key= 함수명' ___ 자리에는 함수를 넣습니다.
- M.sort(key=len) len함수를 적용한 결과로 정렬합니다.
7. 리스트 안에 리스트 구조
얕은 복사와 깊은 복사
- '='을 이용하면 복사본이 생기지 않아서 복사가 이루어지지 않기 떄문에 copy()메소드를 이용해야한다.
- 얕은 복사
- 깊은 복사 ( deepcopy() )
8. 리스트를 이용한 언패킹 (Unpacking)
- 리스트를 이용하면 좀더 간단하게 여러 변수에 값을 할당할 수 있다.
- '=' 양변에 개수가 같아야 합니다. 그렇지 않으며 ValueError 가 발생
- 변수에 여러 개의 값을 할당하고자 할 때
- *기호를 이용해서 값들을 할당해 줄 수 있습니다.
- 기호 자리에는 0개 이상 여러 개의 데이터가 리스트로 저장 됩니다.
- *기호를 이용해서 값들을 할당해 줄 수 있습니다.
9. 리스트 안에 for 반복문 사용하기(List Comprehension)
10. 정리
- 리스트는 mutable자료형이라서 저장된 데이터를 언제든지 수정할 수 있는 장점이있습니다.
'Python 참조 > Python 책정리' 카테고리의 다른 글
Chapter 11 집합 자료형 (0) | 2022.05.03 |
---|---|
Chapter10 튜플 (0) | 2022.05.03 |
Chapter8 for 반복문[중요] (0) | 2022.05.03 |
Chapter7 while 반복문[중요] (0) | 2022.05.03 |
Chapter 6 if 조건문 [중요] (0) | 2022.05.02 |