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_value2) 인덱스의 데이터 수정하기
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.)