- Python에서는 리스트(list)를 통해 여러 데이터를 순차열적으로 저장할 수 있다.
- List는 대괄호([])로 감싸져 있으며 저장되어 있는 값은 요소(element)라고 하고 쉼표로 구분된다.
- List는 문자열(string) 이외에도 숫자, boolean 값 등 모든 type의 값을 저장할 수 있고 서로 다른 type 값의 저장도 가능하다.
- list에는 순서가 존재하며 0번부터 시작한다.
My_list = [["Bulls", 23], ["White Sox", 45]]
def list_index():
my_list = [50, 60, 70];
first_value = my_list[0]; # 첫 번째 데이터 반환
return first_value
def modify_list():
my_list = [18,64,99];
my_list[0] = 72; # 첫 번째 데이터를 72로 수정
return my_list;
숫자 8을 리턴하는 함수 access_list() 만들기
def access_list():
my_list = [[1,2,3], [4,5,6], [7,8,9], [[10,11,12], 13, 14]];
my_data = my_list[2][1]; # [세로 위치][가로 위치]
return my_data;
append()
이용하기
list_name.append(element)
새로운 요소(element)를 리스트 마지막에 추가
+
이용하기
추가하고자 하는 요소가 한 개 이상일때는 append
대신 +
를 사용할 수 있다.
추가할 요소들을 대괄호([])를 이용하여 리스트의 형태로 만든 후 추가해야 한다.
list1 = [1, 2, 3, 4]
list2 = [5, 6, 7]
list1 + list2
print(list1) # list 1 = [1, 2, 3, 4]
list1 = list1 + list2
print(list1) # [1, 2, 3, 4, 5, 6, 7]
insert
이용하기insert
를 이용하면 원하는 위치에 요소를 삽입할 수 있다.cities = [
"서울특별시",
"부산광역시",
"인천광역시",
"대구광역시",
"대전광역시"
]
위 리스트에서 "제주시"를 "서울특별시" 다음에 삽입하고자 하면
아래와 같이 insert
메소드를 이용하면 된다.
cities.insert(1, "제주시")
my_list = [] # 비어있는 대괄호로 생성
my_list.append(1)
my_list = my_list + [2, 3]
del
이용하기input = [1, 2, 3, 4, 5, 6, 7]
print(input) # 결과 [1, 2, 3, 4, 5, 6, 7]
del input[3]
print(input) # 결과 [1, 2, 3, 5, 6, 7] / '4' 삭제됨
예제
총 요소가 5개인 input list에서 홀수는 지우고 짝수만 남은 list return하기
def remove_odd_numbers(numbers):
if numbers[4] % 2 != 0:
del numbers[4]
if numbers[3] % 2 != 0: # elif 대신 if 쓰기! (대안이 아니니까)
del numbers[3]
if numbers[2] % 2 != 0:
del numbers[2]
if numbers[1] % 2 != 0:
del numbers[1]
if numbers[0] % 2 != 0:
del numbers[0]
return numbers
remove()
메소드 이용하기list_name.remove("elememt")
원하는 요소 삭제def list_remove():
my_list = ["고양이", "강아지"];
my_list.remove("강아지"); # 함수명.remove("강아지");
return my_list; # 결과: my_list = ["고양이"]
pop()
메소드 이용하기list_name.pop()
리스트의 마지막 요소 삭제def list_pop():
my_list = [["John", 23], ["cat", 2]];
my_list.pop(); # 함수명.pop();
return my_list;
리스트의 일부를 복사하는 것.
bts = ["RM", "제이홉", "진", "정국", "지민", "뷔", "슈가"]
sub_bts = bts[1:4] # 2번째 요소부터 4번째 요소만 copy
결과: ['제이홉', '진', '정국']
list slicing에서의 option step
list_name[start: stop:step] # step은 한번에 몇 요소씩 건너뛸 것인지 정해줌.
Slicing Tip
list slicing 시 start index를 빈칸으로 남겨두면 해당 list의 첫 요소부터 시작하고,
반대로 stop index를 빈칸으로 남겨두면 start index부터 끝까지 가져온다.
my_list = [1, 2, 3, 4, 5, 6, 7, 8]
sub_my_list1 = my_list[:4]
print(sub_my_list1) # 결과 [1,2,3,4]
sub_my_list2 = my_list[4:]
print(sub_my_list2) # 결과 [5,6,7,8]
sub_my_list3 = my_list[1:5]
print(sub_my_list3) # 결과 [2,3,4,5]