• 검색 결과가 없습니다.

▪ 이러한 자료값을 크기순으로 손쉽게 정렬하는 방법은?

N/A
N/A
Protected

Academic year: 2022

Share "▪ 이러한 자료값을 크기순으로 손쉽게 정렬하는 방법은?"

Copied!
41
0
0

로드 중.... (전체 텍스트 보기)

전체 글

(1)

7장. 구성이 다른 자료 ­ list

7.1. list형

(2)

▪ “홍길동”,”강감찬”,”을지문덕”,…. 과 같은 연속적으로 자료값을 쉽 게 저장하고 추가 삭제할 수 있는 방법은 없을까?

▪ 이와 같은 자료값이 있을때 첫번째, 마지막번째 원소를 쉽게 구하는 방법은 없을까?

▪ 이러한 자료값을 크기순으로 손쉽게 정렬하는 방법은?

2

(3)

list

3

7.1. list형

▪ list 타입

▪ list 선언 방법

▪ list를 만들 때는 대괄호( [ ] )로 감싸주고 안에 들어가는 원소는 쉼표를 통해 구 분

▪ element들은 어떠한 type도 가능

• 심지어 다른 list도 element가 될 수 있음

▪ Empty list : element를 하나도 갖지 않는 list

• 기호 [ ]

[ ] list 기호

variable_name = [ … ]

(4)

[예제 7-1] list의 활용

4

7.1. list형

▪ 변수는 사용되기 전에 반드시 할당되어야 함

(5)

[예제 7-1] list의 활용

5

7.1. list형

▪ 변수는 사용되기 전에 반드시 할당되어야 함

(6)

7장. 구성이 다른 자료 ­ list

7.2. list의 index

(7)

List의 index

7

7.2. list의 index

▪ list의 각 원소들은 list 변수 내에서 index를 통해 개별적으로 다루어 짐

• 주의 : list는 집합과 유사하지만, index를 통해 접근할 수 있다는 점에서 차이가 남

▪ list와 string의 공통점은 index를 가진다는 것

▪ string과 같이 list의 경우에도 index는 element가 배열된 순서를 나타냄

• 항상 ‘0’번째 요소부터 순서가 매겨 짐

▪ list의 index를 활용하여 index에 해당하는 값을 반환 가능

▪ list의 index 구조

• season =[‘spring’, ‘summer’, ‘fall’, winter’]

list_name[index] list에서 index에 해당하는 element값을 반환함

season = [‘spring’, ‘summer’, ‘fall’, ‘winter’]

spring summer fall winter

0 1 2 3

(8)

8

(9)

[예제 7-2] index를 이용하여 요소에 접근하기

9

7.2. list의 index

(10)

[참고]

10

7.2. list의 index

1 2 3 4

-4 -3 -2 -1

0 1 2 3

a

▪ list의 index에 음수 값을 넣을 수도 있음.

• list형인 변수 a=[1, 2, 3, 4]가 주어졌을 때, a[-1]값을 확인해보면 4가 나옴

• index값이 음수로 가더라도 왼쪽으로 한 칸씩 이동
 단, list의 길이를 넘어서면 안 됨

• 아래 예제에서는 4칸을 넘을 수 없음

(11)

Index 응용 : element에 접근하기

11

7.2. list의 index

▪ index도 연산이 가능함 (단, 나눗셈 연산자는 사용이 불가) –연산 결과는 반드시 정수(integer type)가 되어야 함

[예제 7-3] index 응용 : element에 접근하기1 list_name


[int_a θ int_b]

int_a θ int_b의 연산 결과가 index가 됨 list는 index에 해당하는 element값을 반환함

θ는 연산자를 의미함, θ = {+, - , *, %}

(12)

[예제 7-4] index의 연산 응용 : element에 접근하기

12

7.2. list의 index

(13)

[예제 7-4] index의 연산 응용 : element에 접근하기

13

7.2. list의 index

(14)

14

atom 에서는 이와 같이 작성 한 후 Comm+I를 누른다

(15)

▪ String에서 사용했던 방식과 같이 왼쪽의 element가 오른쪽 list에 포함되어 있는지를 판단함

[예제 7-5] list에서의 in과 not in 1

List의 membership : ‘in’ & ‘not in’

15

7.2. list의 index

in list의 element 인가를 결정하는 연산자

not in list의 element가 아닌 element를 결정하는 연산자

(16)

List의 membership : ‘in’ & ‘not in’

16

7.2. list의 index

(17)

17

를 실행하면

(18)

[예제 7-6] list에서의 in과 not in 2

18

7.2. list의 index

(19)

[예제 7-6] list에서의 in과 not in 2

19

7.2. list의 index

(20)

List 길이 : len()

20

7.2. list의 index

▪ Len()함수는 해당 list의 element 개수를 int type으로 반환한다.

[예제 7-7] list의 element개수 파악하기 1

len(list or list_name) list의 길이(element의 개수)를 반환하는 함수

(21)

List 길이 : len()

21

7.2. list의 index

[예제 7-8] list의 element개수 파악하기 2

(22)

[실습 7-1] 특정 단어와 element 개수를 조건으로 하는 예제

22

7.2. list의 index

(23)

[실습 7-1] 특정 단어와 element 개수를 조건으로 하는 예제

23

7.2. list의 index

(24)

[실습 7-1] 특정 단어와 element 개수를 조건으로 하는 예제

24

7.2. list의 index

(25)

[퀴즈 7-1]

25

7.2. list의 index

▪ 다음 프로그램의 결과를 예측하여 넣어 보자.

>>>list1 = ['a', 'b', ['c','d'], 1, [2,3], 'e']

>>>len(list1)

( )

>>>['b'] in list1

( )

>>>['c','d'] in list1

( )

>>>'a' in list1 ( )

(26)

list 연산

26

7.2. list의 index

(27)

list 연산

27

7.2. list의 index

(28)

[퀴즈 7-2]

28

7.2. list의 index

▪ 다음과 같이 작성된 프로그램의 빈칸을 채워 넣어라

>>>list_odd = [1,3,5,7,9]

>>>list_even = [2,4,6,8,10]

>>>list_odd[-3]

( )

>>>list_even[1+3]

( )

>>>( )

[1, 3, 5, 7, 9, 2, 4, 6, 8, 10]

>>>( )

[1, 3, 5, 7, 9, 1, 3, 5, 7, 9]

(29)

list slice (1/2)

29

7.2. list의 index

▪ list도 slice기법을 사용하여 자를 수 있음

• 4가지의 index 조건으로 나누어 설명

list_name[index1 : index2] index1이상, index2미만인 범위의 부분list를 생성하는 연산 index1값은 포함되고, index2값은 포함되지 않음

list_name[:] 모든 범위의 list를 생성하는 연산

(30)

list slice (2/2)

30

7.2. list의 index

list_name[:index2] index2 미만인 범위의 부분list를 생성하는 연산

list_name[index1:] index1 이상 범위의 부분list를 생성하는 연산

(31)

[예제 7-11] list slice

31

7.2. list의 index

(32)

[예제 7-11] list slice

32

7.2. list의 index

(33)

[퀴즈 7-3]

33

7.2. list의 index

▪ 아래의 실행문에 대한 결과가 올바른지 O/X로 표시해보자

>>>list1 = [1,2,3,4,5,6,7,8,9]

>>>list1[:3]

[1, 2, 3] ( )

>>>list1[0:3]

[2, 3] ( )

>>>list1[3:5]

[4, 5] ( )

>>>list1[3:]

[4, 5, 6, 7, 8, 9] ( )

>>>list1[3:999]

[4, 5, 6, 7, 8, 9, 10, ..] ( )

(34)

list의 element 대체

34

7.2. list의 index

▪ string과 달리 list는 할당문을 활용하여 element를 교체할 수 있음

[예제 7-12] list element의 갱신

(35)

list의 element 대체

35

7.2. list의 index

(36)

list의 element 대체

36

7.2. list의 index

▪ slice와 함께 사용해 element를 교체하는 것도 가능함

list_name[index1 : index2]=

[element1, element2, …] list에서 [index1:index2]의 범위에 해당하는 element들을 [element1, element2, …]로 교체함

list_name[index1:]=

[element1, element2, …]

list에서 index1이상의 범위에 해당하는 모든 element들을 [element1, element2, …]로 교체함

list_name[:index2]=

[element1, element2, …]

list에서 index2 미만의 범위에 해당하는 모든 element들을 [element1, element2, …]로 교체함

(37)

[예제 7-13] list element의 갱신

37

7.2. list의 index

(38)

[예제 7-13] list element의 갱신

38

7.2. list의 index

(39)

[실습 7-2] list 연산 및 대체 slice 활용

39

7.2. list의 index

(40)

[퀴즈 7-4]

40

7.2. list의 index

▪ 다음 결과에 알맞도록 빈칸에 알맞은 값을 채워 보자

>>>string = ['a', 'b', 'c', 'd', 'e', 'f']

>>>( ) ['a', 'b', 'c']

>>>( ) ['c', 'd', 'e']

>>>( ) ['b', 'c']

(41)

1. 다음 실행문의 결과를 예상하시오.

2. 다음 프로그램의 결과는 무엇인가?



 —————————

>>>title = ['P','r','o','g','r','a','m','m','i','n','g']

>>>title [:7]

---

[연습문제]

41

7.2. list의 index

list1 = ['n', 'e', 'w', 'l', 'i', 's', 't']

list2 = ['n', 'e', 'w', 's', 't', 'r', 'i', 'n', 'g']

list_new = list1[:3] + list2[6:]

print(list_new)

참조

관련 문서

국립 중앙 도서관 사서 ∙A는 국가서지에 대해서 잘 알지 못하고 활용해 본 경험이 거의 없다 ∙A는 국가서지를 이용하면서 출판물 중 일부가 누락된 것을

분석된 모든 자료를 통해 서는 한국산과 중국산 배추의 스트론튬 동위원소 값이 원산지별로 비슷한 범위의 값을 보이는 것으로 나타났으나, 각 지역별로(특히

다음에 설명할 일점 및 이점 교배 등 전통적인 교차 연산자는 2 개의 부모 개체로부터 2개의 자식이 생성되지만 MATLAB 유전 알고리듬에서는 모든 교차 연산 자에 대해

The list of plants on the red list of Korea in Oenarodo Island by National Institute of Biological Resources.. Family name Scientific

본 논문에서는 이를 해결하기 위해 레벨 간소화 과정을 거쳐 연산 시간을 단축하였 고 Optical flow 를 영상에서 고유벡터를 갖는 영역에만 적용하여 노이즈를 제거한 뒤

Family name Scientific-Korean name Rare plants list (2010) 1 Valerianaceae Botrychium virginianum 늦고사리삼 LC 2 Pinaceae Abies koreana 구상나무 LC 3 Pinaceae Picea

따라서 한국어 품사 부착기는 일반적으로 모든 가능한 형태소열을 생성하는 형태소 분석기(Morphological Analyzer: MA)와 문맥을 고려해 최적 형태소열을

내용타당도 중요도 분석에서는 단계적 회귀분석 ( ) 에서 선택된 모든 결과지표들이 Fehring 기법에 의해 핵심지표 또는 지지적 지표라고 확인된 것들이었다..