리스트는 여러개의 자료를 하나의 변수로 관리할 때 사용되는 집합입니다. 다른 언어에서 Array(배열)과 비슷한 역할을 하며 삽입, 삭제, 정렬 등 다양한 일을 수행 가능합니다. 오늘은 파이썬에서 List
를 왜 사용하는지와 다양한 기능들을 알아보겠습니다.
상황에 따라 여러개의 변수가 필요할 때가 있습니다. 두 세개라면 각자 고유한 이름을 가지고 선언 할수도 있지만 수십개에서 수백개가 되면 하나하나 선언하는것은 비효율적일 것입니다.
num1 = 1
num2 = 2
num3 = 4
.
.
num92 = 201
한줄한줄 코딩한다면 변수 선언에만 몇 백줄을 낭비할지도 모릅니다. 이런 경우에는 하나의 리스트로 관리하는 것이 편리합니다.
빈 리스트를 만드는 방법 2가지는 아래와 같습니다.
numList1 = []
numList2 = list()
위의 두 리스트 모두 출력하면 [ ]
의 빈 리스트를 출력하게 됩니다.
리스트는 하나의 자료형으로 선언할 수도 있고 여러가지 자료형을 사용해도 됩니다.
intList = [123,34,23,65,15,67]
mixList = [True,423,"HELLO",2341.23]
numList3 = list(range(0,10))
range()
함수는 연속적인 수를 생성하며 위의 코드에서는 0에서부터 9까지 생성하게 됩니다. 따라서 numList3
을 출력하게 되면 아래와 같습니다.
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
위에서 말했다시피 List에는 다양한 기능들을 제공합니다. 그중 많이 쓰이는 기능들을 소개하겠습니다.
.append(x)
는 추가라는 뜻의 append를 사용한 매서드로 이름대로 리스트 끝에 새로운 요소를 붙일 때 사용됩니다.
numList3.append(10) #[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
.remove(x)
는 리스트에서 가장 앞에있는 x
를 제거합니다.
numList3.remove(2) #[0, 1, 3, 4, 5, 6, 7, 8, 9, 10]
.sort()
는 리스트를 정렬하는 매소드로 key
값은 기본적으로 none
, reversed
는 기본적으로 False
로 되어있어 오름차순으로 정렬하게 됩니다. reversed
가 True
로 설정하면 내림차순으로 정렬하게 되며, key
는 지정된 함수의 결과에 따라 정렬하게 합니다.
numList3.sort(reversed=True) #[10, 9, 8, 7, 6, 5, 4, 3, 1, 0]
리스트의 일부만 선택하기 위해서는 슬라이스를 사용합니다. 슬라이싱은 매소드를 호출하지는 않고 리스트를 list[startIndex:endIndex]
와 같이 표현합니다.
numList3[0:3] #[10, 9, 8]
numList3[:4] #[10, 9, 8, 7]
numList3[-1:] #[0]