파트 7. 기타

신예진·2023년 7월 17일
0

1) for문과 if문을 한번에

mylist = [3, 2, 6, 7]
answer = [num**2 for num in mylist if num % 2 == 0]

2) flag 대신 for-else 사용

import math

if __name__ == '__main__':
    numbers = [int(input()) for _ in range(5)]
    multiplied = 1
    for num in numbers:
        multiplied *= num
        if math.sqrt(multiplied) == int(math.sqrt(multiplied)):
            print('found')
            break
    else:
        print('not found')

3) 두 변수의 값 바꾸기 - swap

a = 3
b = 'abc'

a, b = b, a # 참 쉽죠?

4) 이진 탐색하기 - binary search

import bisect
mylist = [1, 2, 3, 7, 9, 11, 33]
print(bisect.bisect(mylist, 3))

5) 클래스 인스턴스 출력하기 - class의 자동 string casting
파이썬에서는 str 메소드를 사용해 class 내부에서 출력 format을 지정할 수 있습니다.

class Coord(object):
    def __init__ (self, x, y):
        self.x, self.y = x, y
    def __str__ (self):
        return '({}, {})'.format(self.x, self.y)

point = Coord(1, 2)

6) 가장 큰 수, inf
코테를 풀다보면, 최솟값을 저장하는 변수에 아주 큰 값을 할당해야 할 때가 있다.
이때 사용하기 좋은 것이 inf다.

min_val = float('inf')
min_val > 10000000000

inf에는 음수 기호를 붙이는 것도 가능하다.
max_val = float('-inf')

7) 파일 입출력 간단하게 하기.

with open('myfile.txt') as file:
    for line in file.readlines():
        print(line.strip().split('\t'))

0개의 댓글