목록Python (28)
sm 기술 블로그
연산자 '/' 와 '//'의 차이 먼저 둘의 차이는 이렇다 /는 나눗셈을 의미하며 결과가 float로 나타납니다. //는 나눗셈을 의미하며 결과가 int로 나타납니다. /의 경우 >>> type(5/2) //의 경우 >>> type(5//2) 정리 백준문제 이항정리 1과 이항정리 2가 있다. 1에서 int로 무리없이 통과된다면 2는 통과가 불가능하다. 그 이유는 //는 처음부터 int로 결과값을 배출하여 안정적이다. 하지만 /은 float으로 결과값을 배출후 int로 감싸는 경우 불 안정 하여 거기서 N의 나머지 값을 구하면 의도와는 다른 결과값이 나온다. 따라서 앞으로는 int값이 필요하면 나누고 int로 묶는것이 아닌 //을 사용할 수 있도록 하자....
집합이 다음과 같이 주어졌다고 해보자. >>> s1 = set([1, 2, 3, 4, 5, 6]) >>> s2 = set([4, 5, 6, 7, 8, 9]) 차집합 >>> s1.difference(s2) {1, 2, 3} >>> s2.difference(s1) {8, 9, 7} >>> s1 - s2 {1, 2, 3} >>> s2 - s1 {8, 9, 7} 교집합 >>> s1.intersection(s2) {4, 5, 6} >>> s1 & s2 {4, 5, 6} 합집합 >>> s1.union(s2) {1, 2, 3, 4, 5, 6, 7, 8, 9} >>> s1 | s2 {1, 2, 3, 4, 5, 6, 7, 8, 9}
if A in B B안에 A가 있다면 참이다. 반대로 if A not in B은 B안에 A가 없다면 참이다. 예시 list = [9,7,0,1,2,5] if 1 in list : print("있다") else: print("없다") #출력결과 있다 추가 문자열도 사용 가능하다. 리스트에 특정문자열이 포함되어있는지에 대해 출력 가능하다. list = ["a_1","a_2","a_3","b_1","b_2","b_3"] for val in list: if "a" in val: print(val) #출력결과 a_1 a_2 a_3
파이썬에서 input으로 많이 입력 값을 받을 것이다. 하지만 input은 입력받는데 속도가 느려 간단하지만 특정 상황에서 시간 초과가 발생할 수 있다. 따라서 sys를 이용한다. 1. 바로 사용 import sys T = sys.stdin.readline() 위와같이 바로 sys.stdin.readline을 통해 값을 입력 받을 수 있다. 2. input을 sys속도로 올리기 입력을 한번만 선언하면 위와 같이 사용해도 문제 없지만, 만약 입력을 여러번 받아야 될 때 매번 sys.stdin.readline을 사용하기에는 번거롭다. 따라서 input을 sys속도로 끌어 올리자. import sys input = sys.stdin.readline 이렇게 사용하면 평소 쓰던 것과 같이 input()을 쓰면 s..