이번에 떨어지면 다시... 필기부터 다시 봐야 한다.. 절대 안돼 ㅠㅠㅠㅠㅠㅠㅠㅠ
평일 10시라서 회사에서 접수해야 하는데 ㅎ... 심지어 서버 터져가지고 점심시간에도 붙잡고 있었던 거 ㄹㅈㄷ
트위터에 사람들 다 욕하고 ㅋㅋㅋㅋ 무슨 단계별로 끊겨서 열받았었다 진짜로
이번에 근처 접수 못해서 멀리 가는 사람들도 많던데..ㅋㅋㅋ 이번에가 더 터진 이유가
이라고.. ㅋㅋㅋ...
티켓팅 같은 정처기 실기를 다시 안보기 위해서 이번에 끝낸다
다음의 규칙
을 가짐
int
를 float
로 변환한 경우a = 1
type(a)
float(a) # 정수 a를 float로 바꿈 1.0
float
를 int
로 변환한 경우 : 반올림이 아닌 값이 버림되어 진다.b = 3.99
int(b) # 3
bool
을 int
로 변환한 경우c = True
int(c) # 1
분류 | 타입 | 특징 | 예시 |
---|---|---|---|
시퀸스(sequence) | 리스트(list) | 순서가 있고, 가변(mutable) | [1, 2, 3] |
시퀸스(sequence) | 투플(tuple) | 순서가 있고, 불변(immutable) | (1, 2, 3) |
세트(set) | 세트(set) | 순서가 없고, 중복을 허용하지 않음 | {1, 2, 3} |
맵(map) | 딕셔너리(dictionary) | 순서가 없고, key/value 쌍으로 이루어짐 | {‘a’ : 1, ‘b’ : 2, ‘c’ : 3} |
mylist = []
mylist # []
맨 뒤
에 추가mylist = []
mylist.append(1)
mylist # [1]
mylist.append(7)
mylist.append(7)
mylist.append(7)
mylist.append(3)
mylist.append(5)
mylist.append(2)
mylist
[출력]
[1, 7, 7, 6, 3, 5, 2]
mylist = [1, 6, 3, 2, 7, 5, 4]
mylist.sort()
mylist
[출력]
[1, 2, 3, 4, 5, 6, 7]
mylist = [1, 6, 3, 2, 7, 5, 4]
mylist.sort(reverse=True)
mylist
[출력]
[7, 6, 5, 4, 3, 2, 1]
mylist = [1, 6, 3, 2, 7, 5, 4]
sorted(mylist) # [1, 2, 3, 4, 5, 6, 7]
mylist # [1, 6, 3, 2, 7, 5, 4]
reverse=True
를 지정하여 역정렬할 수 있음mylist = [1, 6, 3, 2, 7, 5, 4]
sorted(mylist, reverse=True) # [7, 6, 5, 4, 3, 2, 1]
mylist.reverse()
mylist # [4, 5, 7, 2, 3, 6, 1]
mylist = [1, 6, 3, 2, 7, 5, 4]
len(mylist) # 7
mylist.insert(1, 100)
mylist # [1, 100, 6, 3, 2, 7, 5, 4]
mylist.remove(7)
mylist # [1, 100, 6, 3, 2, 5, 4]
해당 번째의 요소
를 돌려주고 삭제mylist.pop(1) # 100
mylist # [1, 6, 3, 2, 5, 4]
a = [1, 1, 1, 1, 1, 2, 2, 3]
a.count(1) # 5
a = [1, 2, 3]
a.extend([4, 5])
a # [1, 2, 3, 4, 5]
list = [1, 2, 3, 2, 3, 4, 5, 6, 7, 1, 2, 3, 4]
print(list.index(2)) # 1(첫 2의 인덱스 번호)
print(list.count(2)) # 3
mylist = ['P', 'Y', 'T', 'H', 'O', 'N']
인덱스는 0번 부터 시작
‘'
까지 출력mylist[0] #'P'
mylist[-1] #'N'
mylist = [10, 20, 30, 40, 50]
mylist[0] = 999
mylist # [999, 20, 30, 40, 50]
mylist = [['가', '나', '다'], [4, 5, 6], 7, 8, 9]
mylist[1] # [4, 5, 6]
mylist[1][1] # 5
end
가 명시 안되어 있다면 끝mylist = [100, 200, 300, 400, 500]
mylist[2:] # [300, 400, 500]
end
가 명시되어 있다면 end-1까지 출력mylist[:3] # [100, 200, 300]
mylist = [100, 200, 300, 400, 500]
mylist[::2] # [100, 300, 500]
mylist[::-2] # [500, 300, 100]
a = [1, 2, 3, 4]
b = [5, 6, 7, 8]
a + b # [1, 2, 3, 4, 5, 6, 7, 8]
a = ['a', 'b', 'c']
b = [1, 2, 3, 4]
a * 2 # ['a', 'b', 'c', 'a', 'b', 'c']
참고로 print(fruit[7:])를 해줘야 출력 되는거임
sample = [1, 2, 3, 4, 5, 6, 7, 8]
sample[::-1] # [8, 7, 6, 5, 4, 3, 2, 1]
sample[-1:] #[8]
mytuple = (1, 2, 3)
mytuple # (1, 2, 3)
mytuple2 = 1, 2, 3
mytuple2 # (1, 2, 3)
mytuple = 1,
print(type(mytuple))
mytuple # (1,)
class 'tuple'
mytuple = 1
print(type(mytuple))
mytuple # 1
class 'int'
리스트
로 바꾸고 요소 추가 삭제 변경 후 다시 튜플
로 바꿔줘야 함a = (1, 2, 3, 4)
a = list(a)
a.insert(1, 100)
tuple(a)
{}
를 활용하여 생성할 수 있다.참고로 원래 myset만 하면 출력 nono print(myset)
해줘야 함
myset = set([1, 1, 1, 2, 2, 2, 3, 3, 3])
myset # {1, 2, 3}
myset = set()
myset.add(1)
myset.add(2)
myset.add(3)
myset.add(1)
myset.add(2)
myset.add(3)
myset.add(1)
myset.add(2)
myset.add(3)
myset # {1, 2, 3}
list
의 요소들을 한꺼번에 updatemyset = {1, 2, 3}
myset.update([4, 5, 6])
myset # {1, 2, 3, 4, 5, 6}
tuple
의 요소들을 한꺼번에 updatemyset.update((7, 8, 9))
myset # {1, 2, 3, 4, 5, 6, 7, 8, 9}
set
의 요소들을 한꺼번에 updatemyset.update({10, 11, 12})
myset # {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}
myset = {1, 2, 3, 4, 5}
myset.remove(2)
myset # {1, 3, 4, 5}
a = {1, 2, 3, 4, 5}
b = {3, 4, 5, 6, 7}
a & b
a.intersection(b)
[출력]
{3, 4, 5}
|
기호나 union()
메서드를 활용하여 합집합을 구할 수 있다.a = {1, 2, 3, 4, 5}
b = {3, 4, 5, 6, 7}
a | b
a.union(b)
[출력]
{1, 2, 3, 4, 5, 6, 7}
a = {1, 2, 3, 4, 5}
b = {3, 4, 5, 6, 7}
a - b
a.difference(b)
[출력]
{1, 2}
my_set = {3, 5, 7, 9}
my_set.add(5)
my_set.add(2)
my_set.add(8)
my_set.discard(7)
dict
로 표시 된다.mydict = {'a': 1, '가':2, 100: 3, 3.14: 4, True: 5}
mydict # {'a': 1, '가': 2, 100: 3, 3.14: 4, True: 5}
mydict = {'a': 1, '가':2, 100: 3, 3.14: 4, True: 5}
mydict['a'] # 1
mydict.keys()
[출력]
dict_keys(['a', 'b', 'c', 'd', 'e'])
[참고] dict_keys
dict_keys
는 리스트(list)가 아님list(mydict.keys())
[출력]
['a', 'b', 'c', 'd', 'e']
mydict.values() # dict_values([100, 200, 300, 400, 500])
mydict.items()
[출력]
dict_items([('a', 100), ('b', 200), ('c', 300), ('d', 400), ('e', 500)])
'a' in mydict # True
mydict = dict()
mydict
mydict['apple'] = 123
mydict['apple'] #123
mydict = {'파인애플': 1500, '망고': 3500, '배': 1000}
fruit = {
'사과': 2000,
'딸기': 3000,
'수박': 5000,
}
mydict.update(fruit)
mydict # {'파인애플': 1500, '망고': 3500, '배': 1000, '사과': 2000, '딸기': 3000, '수박': 5000}
mydict = {'a': 100, 'b': 200, 'c': 300, 'd': 400, 'e': 500}
mydict['a'] = 900
mydict # {'a': 900, 'b': 200, 'c': 300, 'd': 400, 'e': 500}
제거하기 / key 제거
pop()
에 key를 지정하여 값을 제거할 수 있다.
제거되는 값의 value를 반환
mydict = {'a': 100, 'b': 200, 'c': 300, 'd': 400, 'e': 500}
mydict
mydict.pop('b') # 200
del mydict['a'] # a의 키 삭
len(mydict) # 3
%s -> 문자열
%d -> 정수
%f -> 실수
%c : 문자 1개
"안녕하세요? %s" % ('반갑습니다.') # '안녕하세요? 반갑습니다.'
'안녕하세요? %d' % (12345) # '안녕하세요? 12345'
'안녕하세요? %.4f' % (0.123456) # '안녕하세요? 0.1235'
'안녕하세요? %c' % ('a') # '안녕하세요? a'
'웰컴투? {}'.format('파이썬.') # **'웰컴투? 파이썬.'
'원주율? {:.2f}'.format(3.141592) # '원주율? 3.14'**
len('banana pen') # 10
a = 'This is a pen'
기본 값으로 공백이 지정되어 있다. 즉, 공백을 기준으로 분리하여 리스트로 반환
a.split() #['This', 'is', 'a', 'pen']
기본 값인 공백에서 특정 문자로 지정할 수 있다.
a = 'This-is-a-pen'
a.split('-') # ['This', 'is', 'a', 'pen']
'-'.join(['010', '1234', '5678']) # '010-1234-5678'
a =
으로 넣어줘야함a = 'My name is Teddy'
a.lower() # 'my name is teddy'
a.upper() # **'MY NAME IS TEDDY'**
a.startswith('01')
[출력]
True
a.endswith('.png')
[출력]
True
a = '01-sample.png'
a.replace('.png', '.jpg') # '01-sample.jpg'
a.strip() # '01-sample.png'
str ='hudndhj'
print(str.find('h')) # 0
//
: floor division 연산자입니다. 나눗셈에 대한 몫을 정수형으로 구함%
: modulus 연산자입니다. 몫을 나눈 나머지를 구함*
: 제곱 연산(문법) (참인 값) if 조건 else (거짓인경우 값)
age = 35
"30세 이상입니다." if age >= 30 else "30세 이하입니다." # '30세 이상입니다.'
[기본 문법]
for 하나씩 꺼내올 때 변수 in [꺼내올 집합]:
(indent)
mylist = [1, 2, 3, 4, 5]
for i in mylist:
print(i)
[출력]
1
2
3
4
5
person = ('제이콥스', 10)
print(person)
print(person[0])
print(person[1])
[출력]
('제이콥스', 10)
제이콥스
10
name, age = ('제이콥스', 10)
print(name)
print(age)
[출력]
제이콥스
10
mytuplelist = [('제이콥스', 10), ('피터', 20), ('타이거', 30)]
for mytuplein mytuplelist:
print(mytuple[0], mytuple[1])
[출력]
제이콥스 10
피터 20
타이거 30
mytuplelist = [('제이콥스', 10), ('피터', 20), ('타이거', 30)]
for name, agein mytuplelist:
print(name, age)
[출력]
제이콥스 10
피터 20
타이거 30
mydict = {'헐크': 50, '아이언맨': 60, '펭수': 70}
for keyin mydict.keys():
print(key)
[출력]
헐크
아이언맨
펭수
for valuein mydict.values():
print(value)
[출력]
50
60
70
for name, agein mydict.items():
print(name, age)
[출력]
헐크 50
아이언맨 60
펭수 70
for cin "Hello":
print(c)
[출력]
H
e
l
l
o
range()
함수는 별도의 list, tuple 생성 없이 range() 에서 정의한 범위를 반복하는데 활용할 수 있다.range(start, stop, step)
형식을 사용stop
: 단일 값을 지정하는 경우for iin range(10):
print(i)
[출력]
0
1
2
3
4
5
6
7
8
9
start
, stop
: 두 개의 값을 지정한 경우for iin range(2, 9):
print(i)
[출력]
2
3
4
5
6
7
8
start
, stop
, step
: 세 개의 값을 지정한 경우
for iin range(1, 10, 2):
print(i)
[출력]
1
3
5
7
9
print('안녕', end=' ')
for i in range(5):
print(i, end=' ')
단일 인수를 가지는 lambda 함수
a =lambda x: x * 2
a(4) # 8
2개의 인수를 가지는 lambda 함수
a =lambda x, y: x * y
a(4, 8) # 32
기본 값이 지정된 인수를 가지는 lambda 함수
a =lambda x, y=10: x * y
a(3) # 30
키워드 인수를 지정하는 lambda 함수
a(y=5, x=3)
[출력]
15
lambda 함수 내부에서 조건문 사용
a =lambda x, y: x * yif x > 0else y
a(4, 8) # 32
print()
, type()
이 파이썬의 대표적인 내장함수sample_data = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
map만 실행시 요소의 내용이 바로 출력되지 않습니다.
map(str, sample_data)
[출력]
list()로 타입 변환하여 요소를 출력
list(map(str, sample_data))
[출력]
['1', '2', '3', '4', '5', '6', '7', '8', '9', '10']
result = map(lambda x: x*2, sample_data)
list(result)
[출력]
[2, 4, 6, 8, 10, 12, 14, 16, 18, 20]
sample_data = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
sample_data_2 = [0, 1, 2, 3, 5, 8, 13, 21, 34, 55]
list(map(lambda x, y: x+y, sample_data, sample_data_2))
[출력]
[1, 3, 5, 7, 10, 14, 20, 29, 43, 65]
sample_data = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
sample_data_2 = [1, 1, 1, 10, 100]
list(map(lambda x, y: x+y, sample_data, sample_data_2))
[출력]
[2, 3, 4, 14, 105]
sample_data1 = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
sample_data2 = [0, 1, 2, 3, 5, 8, 13, 21, 34, 55]
sample_data3 = [5, 6, 7]
sample_data1
, sample_data2
을 zip으로 묶어준 경우
result = zip(sample_data1, sample_data2)
list(result)
[출력]
[(1, 0),
(2, 1),
(3, 2),
(4, 3),
(5, 5),
(6, 8),
(7, 13),
(8, 21),
(9, 34),
(10, 55)]
sample_data1
, sample_data2
, sample_data3
을 zip으로 묶어준 경우
list(zip(sample_data1, sample_data2, sample_data3))
[출력]
[(1, 0, 5), (2, 1, 6), (3, 2, 7)]
number = [1, 2, 3, 4]
name = ['홍길동','김철수','John','Paul']
number_name = list(zip(number,name))
number_name
[출력]
[(1, '홍길동'), (2, '김철수'), (3, 'John'), (4, 'Paul')]
number = [1, 2, 3, 4]
name = ['홍길동','김철수','John','Paul']
dic = {}
for number, namein zip(number,name):
dic[number] = name
dic
[출력]
{1: '홍길동', 2: '김철수', 3: 'John', 4: 'Paul'}
일반 range()
함수를 사용한 경우
for valuein range(1, 10, 2):
print(value)
[출력]
1
3
5
7
9
enumerate()
함수를 사용하여 index를 return 받은 경우
for idx, valuein enumerate(range(1, 10, 2)):
print(f'index: {idx}, value: {value}')
[출력]
index: 0, value: 1
index: 1, value: 3
index: 2, value: 5
index: 3, value: 7
index: 4, value: 9
트래픽 처리도 제대로 못하는 큐넷은 전국민 정보처리기사 무상 지급을 보장하라! (보장하라!)