대괄호 []에 자료를 쉼표로 구분해서 입력힘요소(element)또는 항목(item)이라고 함>>>> [1, 2, 3, 4] # 숫자로만 구성된 리스트
[1, 2, 3, 4]
>>>> ['안', '녕', '하', '세', '요'] # 문자열만으로 구성된 리스트
['안', '녕', '하', '세', '요']
>>>> [1234, 'Hello', True, '가나다라', False] # 여러 자료형으로 구성된 리스트
[1234, 'Hello', True, '가나다라', False]
list_a = [1234, 'Hello', True, '가나다라', False]
list()라는 내장함수를 사용하여도 생성 가능>>>> list1 = list() # 빈 리스트 생성하기 1
>>>> list2 = [] # 빈 리스트 생성하기 2
>>>> list3 = list(1, 2, 3)
>>>> list3
[1, 2, 3]
>>>> list4 = list(range(1, 10)) # range()함수로부터 리스트 생성
>>>> list4
[1, 2, 3, 4, 5, 6, 7, 8, 9]
>>>> list5 = list('ABCDEF') # 문자열로부터 리스트 생성
>>>> list5
['A', 'B', 'C', 'D', 'E', 'F']
>>>> list6 = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
>>>> list6[1]
[4, 5, 6]
>>>> list6[2][0]
7
인덱스(index)를 이용해 접근 가능하며, 인덱스는 리스트의 항목 값을 가리키는 숫자를 의미0부터 n-1까지의 값을 가짐인덱싱(indexing)이라고 부름>>>> list_a = [1234, 'Hello', True, '가나다라', False]
>>>> list_a
[1234, 'Hello', True, '가나다라', False]
>>>> list_a[0]
1234
>>>> list_a[2]
True
>>>> list_a[2] = '변경' # 인덱스로 해당 요소의 값을 변경할 수 있음
>>>> list_a
[1234, 'Hello', '변경', '가나다라', False]
>>>> list_a[-1]
False
>>>> list_a[-5]
1234
>>>> list_a[1][2]
'l'
>>>> list_a[-2][0]
'가'
>>>> list_ex = [123, 45, 6789]
>>>> list_ex[3]
Traceback (most recent call last):
File "<pyshell#3>", line 1, in <module>
IndexError: list index out of range
list_name[start:end]로 나타냄>>>> a_list = [10, 20, 30, 40, 50, 60, 70, 80]
>>>> a_list[1:5] # index 1번부터 5-1번까지의 항목들을 슬라이싱
[20, 30, 40, 50]
>>>> a_list[0:1]
[10]
>>>> a_list[:2] # 처음부터 2-1번 인덱스까지 슬라이싱
[10, 20]
>>>> a_list[1:] # 1번 인덱스부터 끝까지 슬라이싱
[20, 30, 40, 50, 60, 70, 80]
>>>> a_list[:] # 전체를 슬라이싱
[10, 20, 30, 40, 50, 60, 70, 80]
>>>> a_list[-7:-2] # -7번 인덱스(뒤에서 일곱 번 째)부터 -2번 인덱스(뒤에서 두 번 째)전 까지 슬라이싱
[20, 30, 40, 50, 60]
>>>> a_list[-7:] # -7번 인덱스(뒤에서 일곱 번 째)부터 끝까지 슬라이싱
[20, 30, 40, 50, 60, 70, 80]
>>>> a_list[:-2] # 처음부터 -2번 인덱스(뒤에서 두 번 째) 전까지 슬라이싱
[10, 20, 30, 40, 50, 60]
>>>> a_list[-2:] #-2번 인덱스부터 끝까지 슬라이싱
[70, 80]
list_name[start:end:step]>>>> a_list = [10, 20, 30, 40, 50, 60, 70, 80]
>>>> a_list[::-1] # 모든 항목을 역순으로 슬라이싱
[80, 70, 60, 50, 40, 30, 20, 10]
>>>> a_list[1::-1] # 처음의 두 개의 항목을 역순으로 슬라이싱
[20, 10]
>>>> a_list[0:8:3] # 처음부터 8-1번 인덱스 까지 슬라이싱 하되, 스텝을 3으로 설정
[10, 40, 70]
+와 동일하며, 단순히 리스트 두 개를 하나의 리스트로 합쳐주는 것을 의미함*와 동일하며, 해당 리스트의 자료를 해당 횟수 만큼 반복함len() 함수는 괄호 내부에 리스트 변수를 넣으면 요소의 개수를 세어줌>>>> list1 = [11, 22, 33, 44]
>>>> list2 = [55, 66]
>>>> list1+list2
[11, 22, 33, 44, 55, 66]
>>>> list2 * 3
[55, 66, 55, 66, 55, 66]
>>>> list1 * list2
TypeError: can't multiply sequence by non-int of type 'list'
list_name.append(element)로 사용>>>> list_a = [1, 2, 3]
>>>> list_a.append(4)
>>>> list_a.append('Hello')
>>>> list_a
[1, 2, 3, 4, 'Hello']
list_name.insule(index, elt)로 사용하며, 해당 인덱스에 요소를 삽입하면, 기존에 있던 요소들은 인덱스가 하나씩 늘어나게 됨>>>> list_nat = ['KOR', 'USA', 'JAP', 'BEL']
>>>> list_nat.insult(1, 'CHN')
>>>> list_nat
['KOR', 'CHN', 'USA', 'JAP', 'BEL']
>>>> list_abc = ['a', 'b', 'c']
>>>> list_abc.extend(['d', 'e'])
>>>> list_abc
['a', 'b', 'c', 'd', 'e']
>>>> list_abc.append(['f', 'g']) # append를 사용하여 추가하면 리스트 자체가 하나의 요소로 삽입됨
>>>> list_abc
['a', 'b', 'c', 'd', 'e', ['f', 'g']]
+와 다른 점은 extend()는 파괴적 처리를 한다는 것임>>>> list_a = [1, 2, 3]
>>>> list_b = [4, 5, 6]
>>>> list_a + list_b
[1, 2, 3, 4, 5, 6]
>>>> list_a # 리스트 연결 연산자로 연결 시 실행결과는 두 리스트가 합쳐진 결과로 나오나, 각각의 리스트는 어떠한 변화도 없음(비파괴적 처리)
[1, 2, 3]
>>>> list_b
[4, 5, 6]
>>>> list_a.extend(list_b) # 실행결과로 아무 것도 출력 X
>>>> list_a # list_a 자체에 직접적인 변화를 볼 수 있음(파괴적 처리)
[1, 2, 3, 4, 5, 6]
>>>> list_b
[4, 5, 6]
del키워드 또는 pop()함수를 사용함del list_name[index]>>>> list_a = [0, 1, 2, 3, 4, 5]
>>>> del list_a[1] # 1번 인덱스의 요소 제거
>>>> list_a
[0, 2, 3, 4, 5]
>>>> del list_a[3:] # 3번 인덱스부터 끝까지 제거
>>>> list_a
[0, 2, 3]
>>>> del list_a[:2] # 처음부터 2-1번째 인덱스까지 제거
>>>> list_a
[3]
list_name.pop(index)>>>> list_b = [1, 5, 3, 4, 5, 6]
>>>> list_b.pop()
>>>> 6
>>>> list_b
[1, 5, 3, 4, 5]
>>>> list_b.pop(1)
>>>> 5
>>>> list_b
[1, 3, 4, 5]
remove()함수를 사용함>>>> list_c = [1, 2, 3, 4, 5, 4]
>>>> list_c.remove(2)
>>>> list_c
[1, 3, 4, 5, 4]
>>>> list_c.remove(4) # 중복되는 값이 있다면 가장 먼저 발견되는 하나만 제거
>>>> list_c
[1, 3, 5, 4]
clear()함수를 사용하여 제거함>>>> list_d = [0, 1, 2, 3, 4, 5]
>>>> list_d.clear()
>>>> list_d
[]
in연산자와 not in연산자로, 특정 값이 리스트 내부에 있는지 확인하는 연산자임>>>> list_a = [273, 32, 103, 57, 3660]
>>>> 273 in list_a
True
>>>> 660 in list_a
False
>>>> 1234 not in list_a
True
>>>> 32 not in list_a
False
==연산자는 두 리스트의 항목의 값이 모두 같은지를 검사한 후 결과값으로 boolean값을 출력>, >=, <, <= 네 연산자 모두 사전적 순서를 비교하여 결과값으로 불값을 출력함>>>> list1 = [1, 2, 3, 4]
>>>> list2 = [1, 2, 3, 4]
>>>> list1 == list2
True
>>>> list3 = [2, 3, 4]
>>>> list1 == list3
False
>>>> list1 > list3
False
>>>> list1 < list3
True
이후 추가 예정
min(), max(), sum()함수는 리스트 내에서 최소, 최대, 합계를 구하는 기본적인 함수임min(), max()의 경우, 숫자가 아닌 문자열의 형태라면 사전적 순서를 비교한 결과를 출력함sum()의 경우, 리스트 내부의 요소가 문자열이라면 동작하지 않음reversed()는 주어진 리스트의 요소의 순서를 뒤집고 싶을 때 사용sorted()는 리스트를 사전식으로 재배열해주는 함수len()은 리스트 내의 항목 개수를 구해주는 내장함수
index(x)count(x)sort()reverse()해당 글은 도서 '혼자 공부하는 파이썬'과 학교 강의를 참조하여 작성되었습니다.