본문 바로가기

전체 글294

파이썬 코딩도장 Unit 22 정리(4) - 리스트 표현식 사용 5. 리스트 표현식 사용하기 파이썬은 리스트 안에 for 반복문과 if 조건문을 사용할 수 있다는 특이점을 가지고 있다. 이렇게 리스트 안에 식, for 반복문, if 조건문 등을 지정하여 리스트를 생성하는 것을 리스트 컴프리헨션(list comprehension)이라고 한다.(여기서는 리스트 표현식이라고 칭하겠음) 리스트 표현식 : 식으로 지정해서 생성된 것을 리스트로 잡아두는 것이다. 리스트 표현식은 다음과 같이 리스트 안에 식, for 반복문을 지정하는데, 여러 줄의 코드를 한 줄로 줄일 수 있다는 장점이 있다. # [식 for 변수 in 리스트] # list(식 for 변수 in 리스트) >>> a = [i for i in range(10)] # 0부터 9까지 숫자를 생성하여 리스트 생성 >>> .. 2022. 1. 21.
파이썬 코딩도장 Unit 22 정리(3) - 리스트(튜플)의 최대/최소값, 합계 4. 리스트의 가장 작은 수, 가장 큰 수, 합계 구하기 4-1. 가장 작은 수와 가장 큰 수 구하기 먼저 리스트 a의 첫 번째 요소 a[0]을 변수 smallest에 저장한 다음 for로 리스트의 요소를 모두 반복하며 i 가 smallest보다 작으면 smallest에 i 를 할당한다. >>> a = [38, 21, 53, 62, 19] >>> smallest = a[0] >>> for i in a: ... if i >> smallest 19 - 즉, 숫자를 계속 비교하여 숫자가 작으면 smallest를 바꾸는 방식이다. 가장 큰 수를 구할 때는 부등호를 반대로 바꾸면 된다. >>> a = [38, 21, 53, 62, 19] >>> larg.. 2022. 1. 20.
파이썬 코드업 기초 4 - 출력변환 31. 10진수를 입력받아 8진수(octal)로 출력해보자. Tip : 8진수는 '0o12'처럼 숫자 앞에 '0o'를 붙여준다. 이것으로 '12'가 8진수의 '12'임을 인지한다. 10진수를 8진수로 변환하는 함수는 oct()이며, '0o12'와 같이 출력되므로 앞 두자리를 생략하고 출력하면된다. 따라서 '0o12'[2:]를 해주면 되는 것. a = int(input()) # 12 입력 print( oct(a)[2:] ) # 0o12의 앞 두자리를 생략 - 8진수는 '0o12'처럼 숫자 앞에 '0o'를 붙이기 때문에 입력받은 10진수를 oct()를 사용해서 8진수로 변환했을 때 '0o12'가 출력된다. 그래서 앞의 두 자리를 생략한 후 출력하도록 'oct(a)[ 2 : ]를 해준다. 32. 10진수를 입.. 2022. 1. 20.
파이썬 코딩도장 Unit 22 정리(2) : 리스트 2. 리스트 할당, 복사 할당과 복사는 비슷한 것 같지만 큰 차이점이 있다. b=a와 같이 리스트(a)를 다른 변수(b)에 할당하면 리스트가 두 개가 될 것 같지만 실제로 리스트는 하나이다. >>> a = [0, 0, 0, 0, 0] >>> b = a # 리스트를 다른 변수에 할당 >>> a is b True​ a와 b를 is 연산자로 비교하면 True가 나오므로, 변수의 이름만 다를 뿐 리스트 a와 b는 같은 객체임을 알 수 있다. a와 b는 같기 때문에 b[2] = 99 처럼 리스트 b의 요소를 변경하면 리스트 a와 리스트 b에 모두 반영된다. >>> b[2] = 99 >>> a [0, 0, 99, 0, 0] >>> b [0, 0, 99, 0, 0]​ 리스트 a와 b를 완전히 두 개로 만들려면 cop.. 2022. 1. 19.