Security Engineer 2022. 11. 8. 21:00

4.1 Lists

지난번에 메서드(method) 에 대해 알아보았다.

메서드(method)는 데이터에 결합된 함수(function) 이다.

print("minsoo".endswith("o"))

endswith 를 메서드(method) 라고 한다.

메서드(method) 와 함수(function)의 차이점은 호출하는 방식에만 있다. 그걸로 구분한다.

함수(function)가 데이터와 결합되어 있으면 메서드(method),

그렇지 않다면 함수(function)라고 한다.

list의 장점을 알아본다.

days_of_week2 = ["Mon","Tue","Wed","Thu","Fri"] 

print(days_of_week2)

count 라는 method 를 사용해서 Wed 가 몇개 있는지 확인해본다.

days_of_week2 = ["Mon","Tue","Wed","Thu","Fri"] 

print(days_of_week2.count("Wed"))

출력값:

1

이번에는 clear 라는 method 를 사용한다.

days_of_week2 = ["Mon","Tue","Wed","Thu","Fri"] 

print(days_of_week2.clear())

출력값:

None

clear 는 list 에 있는 아이템들을 삭제한다.

days_of_week2 = ["Mon","Tue","Wed","Thu","Fri"] 

print(days_of_week2.clear()) 

print(days_of_week2)

출력값:

None

[]

프로그래머들 언어에서는 modify(수정하다)는 mutate(변화시키다)는 의미이다.

clear 메서드(method)는 days_of_week2 를 mutate 한다고 볼 수 있다.

기존의 days_of_week2 는 월화수목금 이라는 데이터가 리스트 형태로 있었지만

clear 메서드를 사용함으로써 리스트내의 데이터들이 삭제되었다.

days_of_week2 = ["Mon","Tue","Wed","Thu","Fri"]

print(days_of_week2)

days_of_week2.clear()

print(days_of_week2)

 

출력값:

['Mon', 'Tue', 'Wed', 'Thu', 'Fri']

[]

이번에는 reverse 라는 메서드를 사용해 보았다.

days_of_week2 = ["Mon","Tue","Wed","Thu","Fri"] 

print(days_of_week2) 

days_of_week2.reverse() 

print(days_of_week2)

출력값:

['Mon', 'Tue', 'Wed', 'Thu', 'Fri']

['Fri', 'Thu', 'Wed', 'Tue', 'Mon']

reverse 메서드는 데이터들의 순서를 반대로 바꿔준다.

이번에는 append 라는 메서드를 사용해본다.

appned 는 데이터를 추가해주는 메서드이다.

days_of_week2 = ["Mon","Tue","Wed","Thu","Fri"] 

print(days_of_week2) 

days_of_week2.append("Sat") 

print(days_of_week2)

출력값:

['Mon', 'Tue', 'Wed', 'Thu', 'Fri']

['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat']

Sat 라는 값이 추가되었다.

 

Sun 값도 추가해 본다.

days_of_week2 = ["Mon","Tue","Wed","Thu","Fri"] 

print(days_of_week2) 

days_of_week2.append("Sat") 

print(days_of_week2) 

days_of_week2.append("Sun") 

print(days_of_week2)

 

출력값:

['Mon', 'Tue', 'Wed', 'Thu', 'Fri']

['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat']

['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']

 

이번에는 remove 라는 메서드를 사용해서

fri 값을 지워본다.

days_of_week2 = ["Mon","Tue","Wed","Thu","Fri"] 

print(days_of_week2) 

days_of_week2.remove("Fri") 

print(days_of_week2)

출력값:

['Mon', 'Tue', 'Wed', 'Thu', 'Fri']

['Mon', 'Tue', 'Wed', 'Thu']

 

만약 list 를 사용하지 않고 단순히 변수(variable)을 사용했다면

위와같은 메서드들을 사용할 수 없었을 것이다.

remove, append, reverse, clear 등등

list 는 이와같이 데이터 구조로 작업을 하는데에 이점이 있다.

list 에 있는 특정 아이템(데이터) 에 접근할 수 있는 방법을 알아본다.

먼저 list 를 가르키는 변수에 접근해서, 대괄호를 열고

대괄호안에 list에서 접근하고 싶은 아이템(데이터)의 인덱스를 넣어주면 된다.

일반적으로 사람은 1,2,3 순서로 시작하지만

컴퓨터는 숫자를 0,1,2,3 순서로 시작한다. ( 프로그래밍 언어에서 공통적인 부분이다. )

days_of_week2 이라는 list 에 Wed 아이템에 접근하고 싶을 때

days_of_week2 = ["Mon","Tue","Wed","Thu","Fri"] 

print(days_of_week2[2])

출력값:

Wed

Mon, Tue, Wed, Thu, Fri

   0      1       2      3      4

위와 같은 순서로 생각하면 된다.

역순으로도 list 의 아이템(데이터) 에 접근 할 수 있다.

days_of_week2 = ["Mon","Tue","Wed","Thu","Fri"] 

print(days_of_week2[-1])

출력값:

Fri

Mon, Tue, Wed, Thu, Fri

 -5      -4     -3      -2    -1

위와 같은 순서로 생각하면 된다.

만약 Mon 이라는 아이템(데이터)에 접근하고 싶으면

아래와 같이 접근할 수 있다.

days_of_week2 = ["Mon","Tue","Wed","Thu","Fri"] 

print(days_of_week2[-5]) 

print(days_of_week2[0])

출력값:

Mon

Mon

그리고 list 는 꼭 문자열이 아니더라도 1,2,3 도 되고 True, Fasle 도 가능하다.

days_of_week2 = [1,2,3,True,False,"hi","why"] 

print(days_of_week2)

출력값:

[1, 2, 3, True, False, 'hi', 'why']

또한 list 안에 list 를 만드는 것도 가능하며 어떤 종류의 데이터든지 list 를 사용할 수 있다.

숫자, boolean, 문자열, 숫자로 이루어진 list 등등

list 는 원하는 어떤 것이든 담을 수 있다.

days_of_week2 = [1,2,3,True,False,"hi","why",[1,2,3]] 

print(days_of_week2)

출력값:

[1, 2, 3, True, False, 'hi', 'why', [1, 2, 3]]