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 ..
8.5 연산자 오버로딩과 특수 메소드(Operator Overloading and Special Methods) * 오버로딩(overloading)과 오버라이딩(overriding) 개념을 간단하게나마 숙지하고 게시물을 봐주세요. 오버로딩(overloading) : 메소드의 '중복 정의' 오버라이딩(overriding) : 메소드의 '재정의' 이번 섹션의 주제는 '연산자' 오버로딩이기 때문에, '연산자'를 이용해서 메소드를 정의하고, 이렇게 중복 정의한 '메소드'를 사용하는 방법을 다룹니다. 메소드 오버로딩, 오버라이딩과 헷갈리는 경우가 없으시길 바랍니다. - 파이썬에서 당신은 어떤 연산자와 함수의 동작을 똑같이 수행하는 메소드를 정의 할 수 있다. - 이러한 연산자를 메소드로 정의하는 것을 우리는 연산..
8.3 사례 연구: 회문 검사하기(Case Study: Checking Palindromes) - 이번 섹션에서는 회문(Palindromes)을 검사하는 프로그램을 작성할 예정이다. - 회문이란, 앞에서 부터 읽을 때나 뒤에서 부터 읽을 때나 둘 다 문장(단어)이 똑같은 문을 회문이라고 한다. - 예를 들어, mom, dad, noon 과 같은 단어들이 있다. * 회문 검사 프로그램 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 def main(): s = input("Enter a string: ").strip() if isPalindrome(s): print(s," is a palindrome") else : print(s," is not a pali..
- Total
- Today
- Yesterday
- 파이썬 리스트
- 자바
- 파이썬 연산자
- 파이썬 진수 변환
- 파이썬 문자열
- 파이썬 함수
- 파이썬 if문
- 파이썬 for
- 파이썬 단계적 개선
- 백준 1874
- 백준 11501
- 자바스크립트 그래프
- css 박스
- 웹
- 버츄어박스
- 파이썬 while
- 파이썬 선택문
- 파이썬 객체
- 자바 에센셜 실습문제
- 자료구조
- 백준 10451
- 자바스크립트 자료구조
- 파이썬
- css
- 백준
- 파이썬 예제
- css 그리드
- 파이썬 클래스
- 명품 c++ 실습
- 파이썬 터틀
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |