10.10 리스트 검색하기(Searching Lists) - 리스트가 정렬되어있다고 할 때, 이진 검색(binary search)이 순차 검색(linear search)보다 더 효율적으로 요소를 찾을 수 있다. - 검색은 특정한 요소를 찾는 과정이다. - 그래서 리스트 클래스는 검색을 위해 인덱스 메소드(index method)와 요소를 결정하기 위해 in, not in 연산자를 제공한다. - 검색은 컴퓨터 프로그래밍에서 일반적인 일이며, 검색을 위한 수 많은 알고리즘들이 존재한다. - 여기서는 순차 검색(linear search)과 이진 검색(binary search)을 이용한다. 10.10.1 순차 검색 접근 (The Linear Search Approach) - 순차 검색 접근법은 키(key)라는 ..
10.8 함수에서 리스트 반환하기(Returning a List from a Function) - 함수가 리스트를 반환 할 때, 반환하는 리스트의 주소값(reference value)이 반환된다. - 함수를 호출 할 때, 리스트 인자를 넘겨 줄 수 있다. - 그리고 함수는 리스트 반환도 가능하다. - 예를 들어, 아래의 함수는 넘겨받은 리스트의 요소들을 역순으로 배열한 리스트를 반환하는 함수이다. *revers(lst) 1 2 3 4 5 6 7 def revers(lst): result = [] for element in lst: result.insert(0, element) return result cs - Line 2에서 result라는 새로운 리스트를 생성한다. - Line 4-5 에서, lst라는..
10.6 리스트 복사하기 (Copying Lists) - 리스트에 있는 데이터를 복사하여 다른 리스트에 넣기 위해서 하나씩 복사하여야 한다. - 아래와 같이 할당문(=)으로 복사할 수 있을 거라 생각하겠지만 list2 = list1 - 위 문법은 list1을 list2에 복사하는 문법이 아니다. 이는 단지 list1의 주소값을 list2에다 복사하는 것일 뿐이다. *list2 = list1 *리스트 주소값 예제 1 2 3 4 5 6 7 8 9 10 list1 = [1,2] list2 = [3,4,5] print("list1's ID = ",id(list1)) print("list2's ID = ",id(list2),"\n") print("After the assignment statement:") lis..
10.2.9 리스트 축약(List Comprehensions) - 리스트 축약(List Comprehensions)은 리스트의 요소들 생성할 때 더 간결한 방법으로 생성하게 해주는 문법이다. - 리스트 축약은 대괄호 안에 for문이나 if문을 이용해 리스트를 만드는 문법이다. *리스트 축약 예제 1 2 3 4 5 6 7 8 list1 = [x for x in range(5)] # 0,1,2,3,4를 가지는 리스트 선언 print(list1) # list1 출력 , [0,1,2,3,4] list2 = [0.5 * x for x in list1] # list1 각 요소에 0.5 곱하여 list2 생성 print(list2) # [0.0, 0.5, 1.0, 1.5, 2.0] list3 = [x for x in..
10.2.3 리스트를 위한 함수(Functions for Lists) - 몇몇 파이썬 내장(built-in) 함수들은 리스트와 함께 쓸 수 있다. - 예를 들어, len 함수를 이용해 리스트 요소의 갯수를 반환받을 수 있고, max/min 함수를 이용해 리스트의 가장 큰 요소와 작은 요소를 반환받을 수 있다. - sum 함수를 이용해 모든 리스트 요소들의 합을 반환받을 수 있다. - shuffle 함수를 이용해 리스트의 요소들을 랜덤으로 섞을 수 있다. - 아래에 그 예가 있다. *리스트를 위한 함수 예제 1 2 3 4 5 6 7 8 9 10 11 12 13 14 import random list1 = [2,3,4,1,32] print( len(list1) )# 5 print( max(list1) )# ..
10.1 리스트(List) - 리스트(list)는 어떠한 크기의 데이터 모음(data collection)을 저장 할 수 있다. - 프로그램 보통 수 많은 값들을 다루어야 할 때가 많다. - 예를 들어, 100가지의 숫자들을 평균내 평균보다 높은 숫자들의 갯수를 구하는 프로그램을 작성한다고 가정하자. - 이를 수행하기 위해 우리는 100개의 변수를 사용하고 반복문으로 동일한 코드을 반복해야할 지도 모른다. - 이 방법 매우 비효율적이므로 좀 더 조직화된 접근법이 필요하다. - 그래서 파이썬은 요소(element)들을 연속적인 모음(sequential collection)에 저장할 수 있는 리스트(list)라고 부르는 타입(type)을 제공한다. *간단한 리스트 예시(DataAnalysis.py) 1 2 ..
9.6 기하 관리자(The Geometry Managers) - Tkinter는 기하 관리자를 이용하여 컨테이너(container)안의 위젯 위치를 정해준다. - Tkinter는 세 가지 기하 관리자를 제공한다. ex) gird manager, pack manager, place manager - 우리는 이미 그리드 매니저와 팩 매니저는 사용해보았다. - 이번 챕터에서 추가적인 내용을 배운다. 9.6.1 그리드 매니저(The Grid Manager) - 그리드 매니저(Grid Manager)는 보이지 않는 격자(grid) 쎌에 위젯을 배치하는 역할을 한다. - 지정한 행(row)과 열(column)에 위젯을 배치한다. - rowspan과 columnspan 매개 변수를 이용하여 여러 개의 행과 열까지 차..
9.5 캔버스(Canvas) - 모양을 나타내기 위해 캔버스(Canvas) 위젯을 이용할 수 있다. - 우리는 아래의 메소드들을 이용해 모양을 그릴 수 있다. ex) create_rectangle(사각형), create_oval(타원), create_arc(호), create_polygon(다각형), create_line(선분) - 아래의 예제는 캔버스(Canvas) 위젯을 어떻게 사용하는지 보여주는 예이다. *캔버스 예제(CanvasDemo.py) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 ..
- Total
- Today
- Yesterday
- 자바
- 파이썬 예제
- 파이썬 진수 변환
- 백준
- 파이썬 함수
- 자바 에센셜 실습문제
- 파이썬 리스트
- 버츄어박스
- 명품 c++ 실습
- 백준 10451
- css 박스
- 파이썬 for
- 백준 11501
- 파이썬 선택문
- 자바스크립트 그래프
- 파이썬 문자열
- 파이썬 while
- 파이썬
- 자료구조
- 파이썬 터틀
- 파이썬 연산자
- 백준 1874
- 파이썬 단계적 개선
- 자바스크립트 자료구조
- 웹
- 파이썬 객체
- 파이썬 클래스
- css
- 파이썬 if문
- css 그리드
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |