순서가 있는 객체의 집합을 말한다.
예를들어 지하철에 칸별로 사람이 10명, 20명, 30명 있다고 생각해보자.
이를 파이썬 변수에 담으면
subway1 = 10
subway2 = 20
subway3 = 30
이렇게 표현할 수 있다.
하지만 변수를 3개나 만들어야하고 데이터를 잘 관리하기 위해서 변수들을 한번에 List에 담아서 묶어줄 수 있다.
subway = [10, 20, 30]
코드가 훨씬 간편해진다.
파이썬에서 리스트는 다음과 같은 특징을 가진다.
[]
로 표현할 수 있다.배열(array)
라고도 부르지만, 파이썬에서는 리스트(list)라는 용어만 사용한다.지하철의 첫번째 칸에는 손석구
씨가 타고, 두번째 칸에는 류준열
씨가 타고, 세번째 칸에는 강동원
씨가 탔다고 가정하자.
이를 List에 할당하면
subway = ["손석구", "류준열", "강동원"]
이 될것이다.
print(subway)
1번째 칸에 타고 있는 류준열씨를 선택해보자.
print(subway[1])
리스트 명을 적어주고, []
안에 인덱스(index)값을 할당해주면 해당 인덱스에 있는 요소가 출력된다.
인덱스(index)를 이용하여 류준열씨가 몇 번째 칸에 타고 있는지도 출력할 수 있다.
print("류준열씨는 " , subway.index("류준열") + 1 , "번째 칸에 타고 있습니다.")
인덱스는 0, 1, 2, ... 이렇게 0부터 인덱스를 순서대로 준다. 그래서 +1
을 하여 1번째칸, 2번째칸으로 읽을 수 있도록 해준다.
김태형씨가 다음 정류장에서 4번째 칸에서 탔다. 추가해주자.
subway.append("김태형")
그럼 뒤에 추가하지않고 중간에도 추가해보자.
한요한씨가 손석구와 류준열 사이에 탔다.
subway.insert(1, "한요한")
insert를 이용하여 인덱스를 함께 지정해주면 된다.
index는 꼭 0부터 순서대로 세어 삽입한다.
print(subway.pop())
print(subway)
print(subway.pop())
와 같이 하면 삭제가 되는 요소를 출력할 수 있다.
현재 ['손석구', '한요한', '류준열', '강동원', '김태형'] 의 형태와 같았으므로 마지막 요소인 김태형이 출력된다.
그리고 print(subway)
를 하면 김태형은 삭제된 채로 리스트가 출력이 된다.
확인을 위해 같은 값을 하나 더 삽입하고, 정상적으로 2개가 출력이 되는지 확인해보겠다.
subway.append("손석구")
print(subway)
print(subway.count("손석구"))
값을 마구잡이로 삽입하더라도 순서대로 정렬할 수 있다.
기본적으로 오름차순으로 정렬이 된다.
num_list = [5, 4, 3, 2, 1]
num_list.sort()
print(num_list)
오름차순으로 정렬하지 않고 내림차순으로 정렬하고 싶다면 reverse()를 쓰면된다.
num_list = [5, 4, 3, 2, 1]
num_list.reverse()
print(num_list)
리스트의 요소들을 초기화 하고싶다면 clear()를 하면 된다.
num_list.clear()
print(num_list)
다양한 자료형을 사용하기 어려운 타 언어들과 달리 파이썬은 한 list안에 다양한 데이터 타입의 값을 한번에 삽입할 수 있다.
mix_list = ["류준열", 20, True]
리스트 두개를 합칠 수도 있다.
num_list = [5, 2, 4, 3, 1]
mix_list = ["류준열", 20, True]
num_list.extend(mix_list)
print(num_list)