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.7 사례연구: 대출 계산기(Case Study: Loan Calculator) - 이번 챕터는 파이썬 GUI 위젯과 기하관리자, 이벤트를 사용해 대출 계산기를 만들어보는 예제이다. - GUI 어플리케이션을 만들때에는 두가지 단계로 진행한다. 1. 라벨, 텍스트 엔트리, 버튼들이 위치할 유저 인터페이스(UI)를 직접 스케치한다. 2. 이벤트 처리를 구상한다. 버튼이 클릭되었을 때, 유저들의 입력을 얻기 위한 콜백(call back) 함수를 호출하고 대출에 관련된 정보들을 출력하는 이벤트 처리를 구상한다. *대출 계산기(LoanCalculator.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 3..
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 매개 변수를 이용하여 여러 개의 행과 열까지 차..
- Total
- Today
- Yesterday
- 파이썬 함수
- 자바스크립트 그래프
- 웹
- 파이썬 터틀
- 파이썬 선택문
- 자바 에센셜 실습문제
- 파이썬 진수 변환
- 버츄어박스
- 파이썬 while
- 파이썬 리스트
- 백준
- 백준 10451
- 명품 c++ 실습
- 자바
- 파이썬 for
- 파이썬
- 백준 1874
- css
- 파이썬 문자열
- 파이썬 단계적 개선
- css 그리드
- 자료구조
- css 박스
- 파이썬 예제
- 파이썬 클래스
- 백준 11501
- 파이썬 객체
- 파이썬 연산자
- 자바스크립트 자료구조
- 파이썬 if문
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |