[Python] 파이썬 자료형(3) 리스트(List)형
리스트형 (List)
리스트형은 순서를 가지는 객체들의 집합으로, 다양한 자료형들(숫자형, 문자형, 문자열형.. 등등)이 요소로 올 수 있습니다.
리스트형의 기본 문법은 다음과 같습니다.
리스트형
List_name = [element1, element2, element3, ...]
리스트형이 도입되기 전, 마트에 진열된 과일에 대한 정보를 저장하기 위해서는 다음과 같이 각각의 과일의 개별 변수에 일일이 저장해주어야 했습니다.
그런데 리스트형이 도입되면서, 이제는 이 과일들에 대한 정보를 'fruit'이라는 리스트명 안에서 한번에 처리할 수 있게 됩니다. 다음 처럼요.
리스트의 특성에 대해 조금 더 알아보겠습니다.
우선 리스트는 아무것도 포함하지 않아 비어있는 리스트([])로 존재할 수 있습니다.
또한 숫자형, 문자형 등 여러가지 자료형이 리스트 안의 요소로 들어올 수 있으며, 여러 자료형이 한번에 들어올 수도 있습니다.
심지어 마지막 예시에서 보셨듯, 리스트형 자료 역시 리스트의 요소로 들어올 수 있습니다!
1) 리스트형의 인덱싱(Indexing)과 슬라이싱(Slicing)
리스트형도 이전 게시물에서 본 것처럼 인덱싱과 슬라이싱이 가능합니다. 문자열형이 각 문자를 하나의 주소에 배정한 것과 달리, 리스트형은 각 요소를 하나의 주소에 배정합니다. 방법은 문자열형과 동일합니다.
그렇다면, 리스트형안에 리스트형이 포함된 리스트형은 어떨까요? 다음을 통해 확인할 수 있습니다.
역시나 3번 주소를 가진 요소는 리스트 자체로 추출되는 모습을 확인할 수 있습니다.
그럼 여기서 더 나아가, 위에서 'D', 즉, 리스트 속의 리스트 요소를 추출하고 싶으면 어떻게 할까요?
3번 주소의 요소를 추출하기 위해 리스트명[3]을 입력하였고, 여기서 3번 요소는 그 자체로 리스트 자료형이기에, 리스트명의 역할을 수행할 수 잆습니다.
따라서 [3][0]의 의미는 '3번 주소 요소의 리스트 안에 있는 0번 주소 요소' 입니다.
2)리스트의 수정과 삭제
리스트는 주소를 특정하여 값을 수정하거나 삭제시킬 수도 있습니다.
리스트를 수정하는 방법은 간단합니다. 수정할 요소의 주소를 지정하고, 원하는 요소를 대입하면 됩니다. 다음 처럼요.
2번 주소에 있던 'c' 요소가 'B' 요소로 수정된 것을 확인할 수 있습니다.
요소를 삭제하는 것 역시 간단합니다. del함수를 써서, 삭제하고 싶은 요소의 주소를 입력하면 됩니다. 다음 처럼요.
1번 주소에 있던 'z' 요소가 그대로 삭제된 것을 확인할 수 있습니다.
3)리스트형 관련 함수
리스트형에 대한 기본적인 것들은 모두 알아보았으니, 이제 리스트형에서 유용하게 쓰이는 함수에 대해 알아보겠습니다.
1. 리스트에 요소 추가: 리스트명.append()
List = [1, 2, 3]
print(list.append(4))
=> [1, 2, 3, 4]
2. 리스트 순서대로 정렬: 리스트명.sort()
List = [2, 4, 5, 3, 1]
print(list.sort())
=> [1, 2, 3, 4, 5]
3. 리스트 순서 뒤집기: 리스트명.reverse()
List = [2, 3, 1]
print(list.reverse())
=> [1, 3, 2]
'reverse()를 사용할 떄 주의할 점은, 요소들을 순서대로 정렬한 다음 다시 역순으로 정렬하는 것이 아니라,
그저 현대 정렬된 리스트를 그대로 거꾸로 뒤집는다는 것입니다!!
4. 리스트 요소의 주소 추출: 리스트명.index(요소명)
List = ['a', 'b', 'c', 'd']
print(list.index('b'))
=> 1
5. 리스트에 요소 삽입: 리스트명.insert(주소, 요소명)
List = ['a', 'b', 'c', 'd']
print(list.insert(3,'e'))
=> ['a', 'b', 'c', 'd', 'e']
6. 리스트에 요소 제거: 리스트명.remove(요소명)
: 중복되는 요소명이 있다면, 리스트에서 첫번째로 나오는 요소명을 제거합니다.
List = ['a', 'b', 'c', 'd', 'e']
print(list.remove('e'))
=> ['a', 'b', 'c', 'd']
7. 리스트에 요소 끄집어내기: 리스트명.pop(주소)
: pop( )처럼 주소를 입력하지 않으면, 리스트의 맨 마지막 요소를 추출하고, 그 요소를 삭제합니다.
List = ['a', 'b', 'c', 'd', 'e']
print(list.pop(3))
print(list)
=> 'd'
=> ['a', 'b', 'c', 'e']
8. 리스트 안의 특정 요소 개수 쎄기: 리스트명.count(요소명)
List = ['a', 'c', 'c', 'c', 'e']
print(list.count('c'))
=> 3
9. 리스트 확장: 리스트명.extend(새로운 리스트)
List = ['a', 'b', 'c']
print(list.extend(['d', 'e']))
=> ['a', 'b', 'c', 'd', 'e']
'언어) Python' 카테고리의 다른 글
[Python] Python 자료형(6): 집합(Set)형 (0) | 2022.05.08 |
---|---|
[Python] Python 자료형(5): 딕셔너리(Dictionary)형 (0) | 2022.05.02 |
[Python] Python 자료형(4): 튜플(Tuple)형 (feat. 리스트형) (0) | 2022.05.01 |
[Python] Python 자료형(2): 문자열(String)형 (0) | 2022.05.01 |
[Python] Python 자료형(1) 숫자(Number)형과 연산자 (0) | 2022.04.28 |