기존의 리스트 객체를 이용해 조합, 필터링등의 추가적인 연산을 통해 새로운 리스트 객체를 생성하는 경우, 리스트 내장은 매우 효율적이다. 간단한 예제를 통하여 살펴보자. 1234import randomrandom.seed(1)b = [random.randrange(0,20) for i in range(10)] # list comprehensionprint(b)Colored by Color Scriptercs 위 예제를 실행하여 보자. 임의의 값이 10개가 출력되면 정상적으로 출력된 것이다.0부터 20까지의 값을 i 라는 리스트에 10개 추가해서 생성된 리스트 객체를 반환값으로 내놓는다고 생각하면 쉽다. 1print([i for i in b if i%2 == 1])cs 다음과 같은 방법으로도 사용해 볼 수..
이전에 정렬을 하면서 잠깐 짚고 넘어갔던 람다 함수에 대해서 심도있게 알아보겠다. 파이썬에서는 이름이 없고 함수 객체만 존재하는 익명함수를 만들 수 있다. 일반함수와 마찬가지로 필요한곳 어디에서나 쓰일 수 있는 함수이고, 여러개의 전달받을수 있으며 리턴 구문을 적지 않아도 하나의 반환괎을 돌려 줄 수 있다. 바로 람다(lambda) 함수에 대한 설명인데, 람다함수는 한줄을 실행한 결과 값이 바로 반환값이 된다. 람다 함수는 한줄의 간단한 함수가 필요한 경우나 프로그램의 가독성을 위해 함수를 인자로 넘겨줄때 쓸 수 있다. 예제를 통하여 한번 살펴보겠다. 문제. 입력받은 값의 두배를 출력하는 함수를 만들어서 리스트의 값을 모두 출력해 보시오. 1234567def makeDouble(n): return n*2..
1234567colors = ('BLACK', 'white', 'Red', 'green', 'blue') def ignore(text): return text.lower() temp = sorted(colors, key=ignore)print(temp)Colored by Color Scripter 위 코드는 앞서 리스트에서 했던 키값을 이용하여 정렬하기를 응용한 정렬이다.우선적으로 colors라는 변수를 살펴보면 이전에 했던 리스트와 다른점을 찾을수가 있는데 바로 괄호의 모양이다.리스트는 대괄호를 사용하고, 튜플은 소괄호를 사용한다. 이후에 알아볼 사전(dictionary)과 set은 중괄호를 사용한다. 튜플의 가장 큰 특징이라고 한다면 값을 수정할 수 없다는 점이다.리스트와 비슷한 역할을 하지만 값을 ..
리스트를 소트하는 여러가지 방법1234567891011import randomdef makeRandoms(size, limit): result = [] for i in range(size): result.append(random.randrange(0,limit)) return result random.seed(1)result = makeRandoms(20,100)print(result)Colored by Color Scriptercs 우선 20개의 랜덤한 변수(0~99)를 리스트에 삽입하고 결과를 확인했다.seed에 1을 넣은것은 시드를 고정시켜서 결과를 확인하기 이전에 랜덤값이 바뀌지 않게 하기 위해서이다. 첫번째 방법은 리스트 클래스 내부에 있는 sort함수 사용하기.12result.sort()pri..
12345678910111213141516171819202122232425262728293031323334353637ary = [[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0]] for i in range(4): for j in range(4): if i >= j: print('*', end='') else: print(' ', end='') print() print()for i in range(4,0,-1): for j in range(4): if i >= j: print('*', end='') else: print(' ', end='') print() print()for i in range(4): for j in range(3, -1, -1): if i >= j: print('..
123456789101112131415161718192021222324252627282930313233343536373839404142import random def printArray(ary): for i in ary: for j in i: print('%3d' % j, end=' ') print() def snailArray(ary): offset=0 num=1 nrows=5 ncols=5 while nrows>0 and ncols>0: for i in range(offset,offset+ncols): ary[offset][i]=num num+=1 for i in range(offset+1,offset+nrows): ary[i][offset+ncols-1]=num num+=1 for i in rang..
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748import random def makeAnswer(): answer = [0] * 3 while True: answer[0] = random.randrange(0, 10) answer[1] = random.randrange(0, 10) answer[2] = random.randrange(0, 10) if answer[0] != answer[1] and \ answer[0] != answer[2] and \ answer[1] != answer[2]: break return answer def inputAnswer(): print('input answe..
123456789101112131415161718192021222324252627282930313233343536373839import random def makeRandoms(size, limit):numbers = []for i in range(size):n = random.randrange(0, limit)numbers.append(n) return numbers def findPos(numbers, size, value):for i in range(size):if numbers[i] == value:return i return -1 def makeUnique(numbers):i, j = 1, 0 while i
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354# 1. 문자열 거꾸로 출력하는 4가지 text = 'lectopia' # 1번 : range 사용for i in range(len(text)-1,-1,-1): print(text[i],end=' ')print()# 2번 : while문cnt = len(text)while(cnt>0): cnt -=1 print(text[cnt], end=' ')print() # 3번 : 슬라이싱for i in text[::-1]: print(i,end=' ')print() # 4번 : reversedfor i in reversed(text): p..
- Total
- Today
- Yesterday
- 클라이언트
- socket
- 유즈케이스
- 정렬
- 티라노 시그널
- 디렉터리
- 소켓 프로그래밍
- 티그널
- 액터
- 안드로이드
- 터미널
- 파이썬예제
- 라즈베리파이
- 악보
- 클래스
- 리눅스
- 파이썬
- UML
- C
- C++
- 프로세스
- 쓰레드
- MFC
- 데이터베이스
- Sort
- 파일
- 스레드
- 자료구조
- C/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 |