Notice
Recent Posts
Recent Comments
Code IT
Python - list 본문
# list는 값의 나열이다. 순서가 존재하며, 여러 종류의 값을 담을 수 있다. # 또한 문자열과 마찬가지로 0 부터 시작하는 인덱스가 존재하며, 슬라이싱도 가능하다. # 리스트 타입의 변수는 대괄호([])를 이용해 만들 수 있다. # 대괄호([])를 이용해 colors 리스트 변수를 만들었다. colors = ['red', 'green', 'gold'] print(colors) # 리스트에 값을 추가하려면 list변수.append(값) 을 사용한다. # list 변수에 .append를 사용하면 리스트 변수의 가장 끝 인덱스에 값이 추가된다. colors.append("blue") print(colors) # 만약, 가장 끝 인덱스가 아닌 처음이나 중간에 값을 넣으려면, insert(index, 값)을 사용한다. # red, green, gold, blue colors.insert(2, "black") print(colors) # [red, green, black, gold, blue] # 리스트에 다른 리스트의 값을 풀어서 넣을 필요가 있을 때, list변수.extend(리스트 변수)를 사용한다. colors.extend(["white", "gray"]) print(colors) # [red, green, black, gold, blue, white, gray] # list 에 값을 더할 때, append나 insert를 사용할 수도 있지만, 더하기 연산자(+)를 사용할 수도 있다. # 단, +를 사용할때 넘겨줄 값은 일반 값이 아닌 List 타입의 변수 혹은 값을 주어야만 한다. colors += ["red"] # colors = colors + ["red"] print(colors) # [red, green, black, gold, blue, white, gray, red] # 엇! red가 가장 첫 인덱스, 가장 끝 인덱스에 중복되어 들어갔다. # 리스트 타입의 변수는 값의 중복을 고려하지 않는다. 그저 할당된 값만 리스트에 넣어준다. # "red" 라는 값은 리스트의 몇번 인덱스에 존재할까? ##################################################### # [red, green, black, gold, blue, white, gray, red] # # [0, 1, 2, 3, 4, 5, 6, 7 ] # ##################################################### # index()는 주어진 값이 위치한 가장 첫 번째 인덱스를 돌려준다. red_index_of_list = colors.index("red") print(red_index_of_list) # 0 # 존재하지 않는 값을 준다면, Runtime Error (실행 에러)가 발생한다. # ValueError: 'yellow' is not in list # index_of_list = colors.index("yellow") # print(index_of_list) # 만약, 가장 마지막에 있는 "red"를 가져오려면 어떻게 해야 할까? # index(값, 시작_인덱스) # index는 주어진 값을 찾을 때 항상 0번 인덱스부터 시작한다. # 아래 처럼 colors.index("red", 1) 이라고 작성하면, 탐색을 1번 인덱스 부터 시작한다. red_index_of_list = colors.index("red", 1) print(red_index_of_list) # 7 # "red" 라는 값이 아래와 같이 세 번 있을 때 colors.index("red", 1) 의 값은 3이 된다. ################################################### # [red, green, red, gold, blue, white, gray, red] # # [0, 1, 2, 3, 4, 5, 6, 7 ] # ################################################### # index 탐색의 시작점을 정할 수 있는 것처럼 탐색의 종료점(인덱스+1)을 지정할 수도 있다. red_index_of_list = colors.index("red", 4, 8) print(red_index_of_list) # 대학 컴퓨터 공학과에서 배우기도 하고, 프로그램에서 가장 흔하게 사용되는 흔히 # LIFO(Last In First Out)라 불리는 스택이라는 자료구조가 있다. (First In Last Out 과도 의미가 같다.) # 가장 나중에 들어간 데이터가 가장 먼저 나오는 데이터 구조를 말한다. # 가장 나중에 들어간 데이터를 가져오는 명령어는 list변수.pop()이 된다. color = colors.pop() print(color) color = colors.pop() print(color) # pop이 된 데이터는 list에서 제거된다. print(colors) # index를 주어 원하는 데이터를 뽑아낼 수도 있다. color = colors.pop(0) print(color) # index를 부여하는 방법에 따라 Queue, Stack이 결정된다. # Stack : First In Last Out # Queue : First In First Out print(colors)
'Python & Django' 카테고리의 다른 글
Python - tuple (0) | 2019.01.30 |
---|---|
Python - set (0) | 2019.01.30 |
Python - 자료형 (0) | 2019.01.30 |
Python - __main__ (0) | 2019.01.30 |
Python - 문자열 (0) | 2019.01.30 |
Comments