출력하기
1. 여러줄로 걸쳐서 출력하기
word = """
안녕하세요
블
로
그
주
인
"""
print(word)
안녕하세요
블
로
그
주
인
2. print('1') print('2') 하면
1
2
이렇게 출력되는데
1 2
이렇게 붙여서 출력하기
print('1', end = ' ')
print('2')
print('3')
1 2
3
print('1','2','3', sep='@')
1@2@3
3. 이스케이프 문자열 사용하기
'김철수' 입니다. 라고 출력하려면? --> \' \' 사용하기
#1
hi = "'김철수' 입니다."
print(hi)
#2
print("\'김철수\' 입니다.")
'김철수' 입니다.
'김철수' 입니다.
4. 변수 출력하기 3가지
year = 2022
month = 3
day = 1
print('{0}년 {1}월 {2}일 입니다.'.format(year, month, day))
# {:.2f}를 사용하면 소숫점 2째 자리까지 출력할 수 있음 + 반올림
print('{:.2f}'.format(0.15946))
2022년 3월 1일 입니다.
0.16
name = 'Jon'
age = 30
print(f'그의 이름은 {name}입니다.\n나이는 {age} 입니다.')
그의 이름은 Jon입니다.
나이는 30 입니다.
# %s,d,c,f and .3f(소숫점) 을 쓰고 뒤에 %(튜플형식) 으로 붙여줌
print("my name is %s" %('Jon'))
my name is Jon
문자열
인덱싱 : list[0]
슬라이싱 : list[0:2] --> 0~1까지
1. 문자열 거꾸로 출력하기
문자열[::-1]
split() : 쪼개기
join() : 합치기
replace() : 바꾸기
startswith(), endswith() : 맨 앞 글자, 맨 뒤 글자
공백 제거
strip() : 양쪽
lstrip() : 오른쪽
rstrip() : 왼쪽
print('-'.join(리스트)) 를 써주면 -를 기준으로 합쳐준다.
ex) print('-'.join(['010', '1234', '1234']))
출력 : 010-1234-1234
a = '12345'
print(a.replace('5', '6'))
출력 : 12346
print(a.startswith('1'))
출력 : True
print(a.endswith('0'))
출력 : False
# 공백 제거하기!!
b = ' 1234'
왼쪽 공백 제거 : b.lstrip()
오른쪽 공백 제거 : b.rstrip()
양쪽 공백 제거 : b.strip()
2. 변수 입력받을 때 특정 데이터 타입으로 받기
# 변수 = map(데이터타입, input().split()) 띄어쓰기로 저장
# 아래는 튜플로 저장됨
# 몇개 받아서 변수에 저장하려면
# a,b,c = map(int, input().split()) 이런식으로 바로 넣어주면 된다.
a = map(int, input().split())
# 리스트로 저장하려면
a = list(map(int, input().split()))
3. 10진수 -> 16진수 -> 8진수
# 10진수 -> 16진수
a = int(input())
print('%x', %a)
# 16진수 -> 8진수
n = int(a, 16) # 16진수로 저장
print('%o', %n)
4. 영문자 <-> 10진수 유니코드 값
# 영문자 -> 10진수 유니코드 : ord()
n = ord(input())
print(n)
# 10진수 -> 유니코드 : chr()
n = int(input())
print(chr(n))
# a 다음문자 b를 출력하는 것처럼 다음 문자 출력
a = ord(input()) # 10진수로 받음
print(chr(a + 1)) # 유니코드 다음 문자 출력
5. float 몫, int 몫 구하기, float 값 소수 몇째자리까지 출력하기
# float 몫
a / b
# int 몫
a // b
# float로 나온 값 소수 3째 자리까지만 출력하기 (반올림)
print(format(a / b, ".3f"))
6. 객체 비교하기 : a is b 사용.
** -5 ~ 256 사이의 값은 a is b = True 가 나오는데 그게 아니라면 다른 객체이므로 False가 나온다. **
리스트 [ ]
순서 ㅇ , index가 존재함
리스트 요소 생성
list1 = list('hi')
print(list1)
['h', 'i']
list1 = [[1,2,3], [4,5,6], [7,8,9]]
일 때
list1[0] = [1,2,3] 이고
list1[1][2] = 6 이다.
리스트 수정 : list[index] = 값
리스트에 리스트 붙이기 : list1.extend(list2)
리스트 추가하기
list.append(뒤에 붙일 값)
list.insert(index, 붙일 값)
리스트 삭제하기
del list[index] , del list[:2] 처럼 여러개 삭제 가능
list.remove(제거할 값) --> 맨 앞 값 1개만 삭제
list.pop() --> 제일 뒷 값 삭제
list.pop(index)
리스트 값 정렬하기
list.sort(reverse = False/True) --> 오름차순/내림차순
바로 print 하고싶다면 sorted(list, reverse = False/True)
리스트 요소 거꾸로
list.reverse()
reversed(list)
튜플 ( )
데이터 조작 X 이므로 읽기만 가능!
값이 하나인 튜플 생성은 t = (1,) 이렇게 ,를 넣어줘야 한다.
딕셔너리 { }
dict()로 표현된다. 또는 그냥 {}
index를 사용하지 않음. key로 모든걸 한다.
key값은 바꿀 수 없고 중복도 불가능. 중복된 값 입력하면 덮어쓰기 된다.
키 값은 리스트 X
데이터 조회
get(key)
key값이 있는지 조회
key_ in dict_이름 --> True / False로 출력
값 추가
dict_이름[key] = value
add = {'key' : 'value'}
dict_이름.update(add)
데이터 수정
dict_이름[key] = value --> 값 추가할때와 같음. 키가 없으면 추가, 있으면 수정임
데이터 삭제!
del dict_[key]
dict_.pop(key)
dict_.clear() --> 전체삭제
그 외 딕셔너리 함수
dict_.keys()
dict_.values()
dict_.items()
출력하기
menu = {'라면' : 2000, '스낵' : 1000}
for item in menu.items():
print(item[0], "의 가격은", item[1])
# or
for item in menu.items():
print('{0} 의 가격은 {1}'.format(item[0], item[1]))
# or
for item_key in menu.keys():
print(item_key, "의 가격은", menu[item_key])
라면 의 가격은 2000
스낵 의 가격은 1000
SET { }
중복XXXXXXXX
순서 X, index X
값 추가하기
set.add(값)
set_add = {1,2,3}
set.update(set_add)
삭제하기
set.remove(값)
!!집합함수!!
교집합 : &, intersection()
합집합 : |, union()
차집합 : -, difference()
그 외
bool 값 반대로 출력하기 : not bool
정수로 입력받은 bool 값은 0만 False고 나머지는 다 true이다.
bool 값을 논리 연산 사용할 수 있다.
and 를 사용하면 모두 true일 때만 True, 나머지는 False이다.
a, b = map(int, input().split())
print(bool(a) and bool(b))
입력 : 1 1
출력 : True
or를 사용하면 하나라도 true면 True이다.
a, b = map(int, input().split())
print(bool(a) or bool(b))
입력 : 1 1
출력 : True
xor은 서로 다를 때만 true이다.
a,b = map(int, input().split())
a = bool(a)
b = bool(b)
print((a and (not b) or ((not a) and b)))
3개의 요소로 이루어지는 3항 연산은 "x if C else y" 의 형태로 작성할 수 있다.
C : T or F를 평가할 조건식 / 값
x : C = T일 때 사용할 값
y : F일 때 사용할 값
예를 들어 0 if 123 > 456 else 1
이 T이면 0을, F이면 1을 출력하므로 1이 출력된다.
a,b = map(int, input().split())
print(a if (a>=b) else b)
입력 : 123 456
출력 : 456
'알고리즘 > 자료구조와 알고리즘' 카테고리의 다른 글
[JAVA] 배열과 관련된 메소드 살펴보기 (0) | 2022.07.23 |
---|---|
[Python] 배열, 2차원 배열 만들기, 2차원 배열 입력받기 (0) | 2022.03.10 |
<문제> 효율적인 화폐 구성 (Dynamic Programming) (0) | 2022.02.21 |
<문제> 1로 만들기 (Dynamic Programming) (0) | 2022.02.21 |
<문제> 개미 전사 (Dynamic Programming) (0) | 2022.02.21 |