TIL 9 | List
1. List의 구성
- Python에서는 리스트(list)를 통해 여러 데이터를 순차열적으로 저장할 수 있다.
- List는 대괄호([])로 감싸져 있으며 저장되어 있는 값은 요소(element)라고 하고 쉼표로 구분된다.
- List는 문자열(string) 이외에도 숫자, boolean 값 등 모든 type의 값을 저장할 수 있고 서로 다른 type 값의 저장도 가능하다.
- list에는 순서가 존재하며 0번부터 시작한다.
- 다차원 리스트
다차원 리스트는 리스트 내 리스트를 의미하며 아래와 같은 모양으로 구성된다.
My_list = [["Bulls", 23], ["White Sox", 45]]
2. Index를 이용해 list에 접근하기
1) 리스트에서 첫 번째 데이터 추출하기
def list_index():
my_list = [50, 60, 70];
first_value = my_list[0]; # 첫 번째 데이터 반환
return first_value
2) 인덱스의 데이터 수정하기
def modify_list():
my_list = [18,64,99];
my_list[0] = 72; # 첫 번째 데이터를 72로 수정
return my_list;
3) 다차원 리스트에서 데이터 추출하기
숫자 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;
3. list 요소 수정
1) 리스트에 새로운 값 추가하기
-
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, "제주시")
- empty list 생성 후 요소 추가하기
my_list = [] # 비어있는 대괄호로 생성
my_list.append(1)
my_list = my_list + [2, 3]
2) 리스트에서 값 제거하기
del
이용하기
del 키워드와 list의 인덱스 이용하여 원하는 요소를 리스트에서 삭제
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;
3) List slicing
리스트의 일부를 복사하는 것.
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]
Author And Source
이 문제에 관하여(TIL 9 | List), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@hjulee12/TIL-9-List저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)