211012_TIL_List

은경·2021년 10월 12일
0

list

변수를 대괄호 안에 순차열적으로 저장.


korea_provinces = ["강원도", "경기도", "경상도", "전라도", "충청도"]   
                    List 에 저장 되어있는 값을 element 라고 함 
  • 모든 타입 (boolean, string, 숫자 등) 저장가능
  • index는 0번부터 시작
  • index의 마지막 수는 list 길이의 -1

list의 길이를 구하는 방법 : length = len(inputs)

다차원 list

[["Bulls", 23], ["White Sox", 45]]
[["becoming", 29], ["developers", 30]] 

list 수정

def modify_list():
    my_list = [18,64,99]; 
    my_list[2] = 72
    return my_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;

다차원 리스트의 데이터도 [ ]을 추가하여 index값을 이용하여 접근.

Manipulate Lists With append( )

append() 메소드로 이미 선언한 list에 새로운 값 추가

def list_append():
    my_list = [["John", 23], ["cat", 2]];  
    my_list.append(["dog",3])
    return my_list;

Manipulate Lists With pop( )

pop() 메소드로 list의 마지막 데이터 제거

def list_pop():
    my_list = [["John", 23], ["cat", 2]];
    my_list.pop()
    return my_list;

여러개의 element 추가하기

[ ]대괄호와 +를 사용하여 list와 list를 합침.
꼭 합한 값을 새로운 변수에 지정해 주어야 한다 (생략시 새로운list가 생성됨)

insert

list의 원하는 위치에 element 삽입, 위치(index)를 지정해 주어야 함.

예시) cities = [
    "서울특별시",
    "부산광역시",
    "인천광역시",
    "대구광역시",
    "대전광역시",
]
cities.insert(1, "제주특별자치도 제주시")

Empty List

빈 대괄호 [ ]로 비어있는 list 생성 후 element를 추가할 수 있음.

my_list = [ ]
my_list.append(1)
my_list = my_list + [2, 3]
  • 문제
아래 조건을 만족하는 merge_and_swap 함수를 완성 하세요.

2개의 리스트를 input으로 받습니다.
input 받은 2개의 리스트를 하나의 리스트로 합칩니다.
합쳐진 리스트의 첫 element와 마지막 element를 서로 바꾼 후
리스트 전체를 리턴 합니다.
input 모두 빈 리스트이면 빈 리스트를 리턴합니다.
example)

#input
list1 = [1, 2, 3, 4, 5]
list2 = [6, 7]
copied!
#input
list1 = [1, 2, 3, 4, 5]
list2 = [6, 7]
#output
[7, 2, 3, 4, 5, 6, 1]
  • 풀이
def merge_and_swap(list1, list2):
  list1 = list1+ list2
  if len(list1) == 0 :
   return []
  list1[0], list1[-1] = list1[-1], list1[0] 
 return list1

 # 이 함수를 구현해 주세요

list1 = [1, 2, 3, 4, 5]
list2 = [6, 7]

List Slicing

slicing 으로 list의 일부분만 copy 할 수 있음.

forestella = ["고우림", "강형호", "조민규", "배두훈"]

1번째요소부터 2번째 요소까지만 따로 copy해서 새로운 list를 만들고자 할때

tnt = forestella[0:1]
print(tnt)

*주의할점

  • 리스트 시작요소를 포함한 인덱스번호
  • : 배치
  • 리스트가 멈추는 요소(비포함)의 인덱스번호

Slicing Steps

step 값 만큼 건너 뛰어 가져오는 기능.

list_name[start : stop : step]

Slicing Tip

  • start index를 빈칸으로 남겨놓을 경우 리스트의 첫 요소부터 시작
  • stop index를 빈칸으로 남겨놓을 경우 start index 부터 끝까지 가져옴.

Slicing은 list를 수정하는 것 이 아닌 새로운 list를 만듬


Deleting Elements From List

list의 요소를 index와 del 키워드를 통해 삭제 가능.

del list[2]

Remove

index를사용하지 않고 remove 메소드를 이용해서 삭제 가능.

list.remove("name")
profile
Python 서버 개발자

0개의 댓글