본문 바로가기

파이썬39

파이썬 리스트 배열의 얕은 복사(copy), 깊은 복사(deepcopy) 차이점 파이썬의 리스트를 복사하는 방법은 얕은 복사(copy)와 깊은 복사(deepcopy)가 있다.여기서 주의할 점이 있는데, 리스트 자체를 대입하게 되면 내가 의도한 대로 복사가 되지 않는다.내가 의도한 대로 배열을 복사를 하기 위해서는 얕은 복사와 깊은 복사 방식을 사용해야 한다.리스트 대입 a = [1,2,3] 인 리스트를 b = a로 한 경우, a와 b는 다른 리스트가 아님# 리스트 대입하는 경우a = [1,2,3]b = ab.append(4)#a 와 b 모두 6 추가됨.print(a) # [1, 2, 3, 4]print(b) # [1, 2, 3, 4] 리스트를 복사하기 위해서는 copy() 를 사용하거나 deepcopy()를 사용해야 한다.이 둘은 얕은 복사(shallow) 와 깊은 복사(deep)의.. 2024. 5. 22.
파이썬 리스트 배열 list (with 백준 5597, 10250) 파이썬의 리스트는 대괄호 사이에 쉼표로 구분된 값들로 표현한다.일차원 리스트A = ['a', 'b', 'c', 'd', 'e']B = ['가', '나', '다', '라', '마']print(A) # ['a', 'b', 'c', 'd', 'e']print(B) # ['가', '나', '다', '라', '마']이차원 리스트A = [['a','b'], ['c','d'],['e','f']]print(A) # [['a', 'b'], ['c', 'd'], ['e', 'f']]print(A[0]) # ['a', 'b']print(A[0][0]) # a 리스트 값 저장append() 내장함수 사용 : 마지막 인덱스에 추가A = []# 리스트 값 추가A.append("a")A.append("b")A.append(".. 2024. 5. 22.
파이썬 if문 조건 여러개 다중 처리 배열 비교 (with 백준 1330) 파이썬 if 문 다중처리는 아래와 같다.문법if (조건문 기재):elif (조건문 기재):else:x = int(input("숫자를 입력하세요: "))if x 1 and x 배열(list) 비교를 하는 경우, 배열의 원소 값을 비교하여 반환한다.x = [1,2,3,4,5]y = [1,2,5,4,3]# list y가 더 큽니다.if x > y: print('list x가 더 큽니다.')elif x y: print('list x가 더 큽니다.')elif x  ▶ if 문 연습 백준 문제 풀이 https://www.acmicpc.net/problem/1330"""A가 B보다 큰 경우에는 '>'를 출력한다.A가 B보다 작은 경우에는 ' B): print(">")elif (A """ ▷ 파이썬.. 2024. 5. 21.
파이썬 문자열 formatter string (with 백준 2739) 파이썬의 문자열 포매팅 하는 방법은 4가지가 있다.포맷 문자열 리터럴시작 인용부호 또는 삼중 인용 부호 앞에 f 또는 F를 붙여 문자열 작성.이 문자열 안에서, { 및 } 문자 사이에, 변수 또는 리터럴 값 작성하여 파이썬 표현식 삽입한다.var = "abcde"print(f"문자열뒤집기: {var[::-1]}") #문자열뒤집기: edcba문자열 format() 메서드중괄호와 그 안에 있는 문자들 (포맷 필드) 은 str.format() 메서드로 전달된 객체들로 치환된다.lst = ['a', 'b', 'c', 'd', 'e']for i in range(0, len(lst)): print('lst 의 {} 번째 값은 "{}!"'.format(i, lst[i]))"""lst 의 0 번째 값은 "a!"l.. 2024. 5. 20.
파이썬 문자열 거꾸로 해보기 (with 백준 1251 6438) 문자열 거꾸로 하는 방법은 3가지가 있다.문자열 슬라이싱으로 처리하기문자열을 리스트로 변환하고 reverse() 함수 사용하기sorted(iterable, reverse=True) 내장함수 사용하기.리스트로 반환된다#1.문자열 슬라이싱으로 처리var = "abcde"print(f"문자열뒤집기: {var[::-1]}") #edcba#2.문자열을 리스트로 변환하고 reverse() 함수 사용하기#리스트인 경우 reverse() 함수 제공되므로 리스트 변환 후 사용lst = list(var)print(f"뒤집기 전: {lst}") #뒤집기 전: ['a', 'b', 'c', 'd', 'e']#리스트일때는 reverse() 함수 사용lst.reverse()print(f"뒤집기 후: {lst}") #뒤집기 후: [.. 2024. 5. 19.
파이썬 정수, 실수 형변환 데이터형 확인 정수, 실수 형변환은 파이썬 내장함수 사용한다정수 형변환 : int() 사용숫자 또는 문자열 x로부터 정수를 만들어 반환실수 형변환 : float() 사용숫자 또는 문자열 x로부터 실수를 만들어 반환데이터형 판별함수 사용 : isinstance(object, 판별하고 싶은 데이터형)판별하고 싶은 데이터형과 동일하면 True, 아니면 False 반환예제코드#문자열 변수val = "123"print(isinstance(val, int)) # False#정수 형변환intVal = int(val)print(isinstance(intVal, int)) #True#실수 형변환intVal = float(val)print(isinstance(intVal, float)) #True#데이터형 판별f = -123.3prin.. 2024. 5. 18.
파이썬 소수점 반올림 올림 round()와 ceil() (with 백준 2033) 소수점 반올림은 내장함수 round() 사용#round() number 를 소수점 다음에 ndigits 정밀도로 반올림한 값을 반환#0.5 이상 반올림print(f"1.4: {round(1.4)}") # 1.4: 1print(f"1.5: {round(1.5)}") # 1.5: 2print(f"1.6: {round(1.6)}") # 1.6: 2print(f"3.4: {round(3.4)}") # 3.4: 3print(f"3.5: {round(3.5)}") # 3.5: 4print(f"3.6: {round(3.6)}") # 3.6: 4#주의 : 2.5 인 경우 2 반환print(f"2.4: {round(2.4)}") # 2.4: 2print(f"2.5: {round(2.5)}") # 2.5: 2print(f.. 2024. 5. 17.
파이썬 소수점 버림 trunc() floor() (with 백준 10869) 소수점 버림을 하고 싶을 때,math 수학 모듈 중 trunc(), floor() 함수 사용기능이 비슷하나, 양수건 음수건 소수점은 무조건 버리고 싶으면 trunc() 사용#소수점 버리기 방법 1 : trunc()#trunc(x) : 소수 부분을 제거하고 정수 부분만 남겨두고 x를 반환. 이는 0으로 반올림. #trunc()는 양수 x에 대해 Floor()와 동일하고 음수 x에 대해 ceil()과 동일.import math#양수인 경우 몫만 놔두고 소수점 버림print(math.trunc(2.5)) # 2#음수인 경우 몫만 놔두고 소수점 버림print(math.trunc(-2.5)) # 2#소수점 버리기 방법 2 : floor()#floor(x) : x보다 작거나 같은 가장 큰 정수인 x의 floor를 .. 2024. 5. 15.
파이썬 문자인지 숫자인지 (with 백준 10926) String 문자열에서 문자만 있는지 판단isalpha() : 문자열만 있는 경우 True#문자열만 있는 경우 Trueinp = "문자인지판단"print(inp.isalpha()) #True#공백있는 경우 Falseinp = "문자인지 판단"print(inp.isalpha()) #FalseString 문자열에서 숫자만 있는지 판단isdigit() : 0~9까지의 숫자만 있는 경우 Trueisnumeric() : 문자열 내의 모든 문자가 숫자이고, 적어도 하나의 문자가 존재하는 경우 Trueisdecimal() 사용 : 문자열 내의 모든 문자가 십진수 문자이고, 적어도 하나의 문자가 존재하는 경우 True#0~9까지의 숫자만 있는 경우 Trueinp = "123"print(inp.isdigit()) #Tr.. 2024. 5. 11.