리스트
시퀀스 데이터 타입
데이터에 순서가 존재하며, 인덱싱 및 슬라이싱 가능
대괄호(‘[값1, 값2, 값3]’)를 사용하여 표현
1 2 3 4 5 6 7 8 9 10 11 12 13 a = [] a_func = list () b = [1 ] c = ['apple' ] d = [1 ,2 ,['apple' ]] print (a)print (a_func)print (b)print (c)print (d)print (type (d))
[]
[]
[1]
['apple']
[1, 2, ['apple']]
<class 'list'>
리스트 Indexing, Slicing 1 2 3 4 5 6 7 8 9 10 a = [1 ,2 ,3 ,4 ,5 ,6 ,7 ,8 ,9 ,10 ] print (a)print (a[0 ])print (a[5 ])print (a[:5 ])print (a[8 :])print (a[3 :9 :2 ])print (a[:-3 :3 ])print (a[::-1 ])
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
1
6
[1, 2, 3, 4, 5]
[9, 10]
[4, 6, 8]
[1, 4, 7]
[10, 9, 8, 7, 6, 5, 4, 3, 2, 1]
1 2 3 4 a = [["apple" , "banana" , "cherry" ], 10 ] print (a[0 ])print (a[0 ][1 ])print (a[0 ][2 ][2 ])
['apple', 'banana', 'cherry']
banana
e
리스트 연산자 사용 1 2 3 4 5 a = ["john" , "evan" ] b = ["alice" , "eva" ] c = a + b print (c)
['john', 'evan', 'alice', 'eva']
1 2 3 4 c = a * 3 d = b * 0 print ("a * 3 =" , c) print ("b * 0 =" , d)
a * 3 = ['john', 'evan', 'john', 'evan', 'john', 'evan']
b * 0 = []
리스트 수정 및 삭제 1 2 3 a = [0 , 1 , 2 ] a[1 ] = 'b' print (a)
[0, 'b', 2]
리스트 값 추가 1 2 3 4 5 6 a = [100 ,200 ,300 ] a.append(400 ) print (a)a.append([500 ,600 ]) print (a)
[100, 200, 300, 400]
[100, 200, 300, 400, [500, 600]]
1 2 3 4 5 6 a = [100 ,200 ,300 ] a.append(400 ) print (a)a.extend([500 ,600 ]) print (a)
[100, 200, 300, 400]
[100, 200, 300, 400, 500, 600]
1 2 3 a = [0 ,1 ,2 ] a.insert(1 , 100 ) print (a)
[0, 100, 1, 2]
리스트 값 삭제 1 2 3 4 a = [4 ,3 ,2 ,1 ,"A" ] a.remove(1 ) a.remove("A" ) print (a)
[4, 3, 2]
1 2 3 4 5 6 a = [1 ,2 ,3 ,4 ,5 ,6 ,7 ,8 ,9 ,10 ] del a[1 ] print (a)del a[1 :5 ]print (a)
[1, 3, 4, 5, 6, 7, 8, 9, 10]
[1, 7, 8, 9, 10]
1 2 3 4 5 6 7 b = ["a" , "b" , "c" , "d" , "e" ] x = b.pop(2 ) print (x)print (b)y = b.pop() print (y)print (b)
c
['a', 'b', 'd', 'e']
e
['a', 'b', 'd']
그 외 메서드 1 2 3 4 5 a = [0 ,1 ,2 ,3 ] print (a)a.clear() print (a)
[0, 1, 2, 3]
[]
1 2 a = ["a" ,"a" ,"b" ,"b" ] print (a.index("b" ))
2
1 2 3 4 5 6 7 8 a = [1 ,4 ,5 ,2 ,3 ] b = [1 ,4 ,5 ,2 ,3 ] a.sort() print (a)b.sort(reverse=True ) print (b)
[1, 2, 3, 4, 5]
[5, 4, 3, 2, 1]
1 2 3 4 5 6 7 8 c = ['d' ,'bye' ,'five' ,'a' ] d = ['d' ,'bye' ,'five' ,'a' ] c.sort() print (c)d.sort(reverse=True ) print (d)
['a', 'bye', 'd', 'five']
['five', 'd', 'bye', 'a']
튜플
리스트와 비슷한 형태로 Indexing, Slicing 가능
리스트와 달리 수정 및 삭제가 안 됨
소괄호(‘(값1, 값2, 값3)’)를 사용하여 표현
1 2 3 4 5 6 7 8 9 tuple1 = (0 ) tuple2 = (0 ,) tuple3 = 0 , 1 , 2 print (tuple1)print (type (tuple1))print (tuple2)print (type (tuple2))print (tuple3)print (type (tuple3))
0
<class 'int'>
(0,)
<class 'tuple'>
(0, 1, 2)
<class 'tuple'>
1 2 3 4 5 6 7 8 9 a = (0 ,1 ,2 ,3 ,'a' ) print (type (a))b = list (a) print (b)b[1 ] = 'b' a = tuple (b) print (a)
<class 'tuple'>
[0, 1, 2, 3, 'a']
(0, 'b', 2, 3, 'a')
튜플 Indexing, Slicing 1 2 3 4 5 6 7 a = (0 ,1 ,2 ,3 ,'a' ) print (type (a))print (a[1 ])print (a[-2 ])print (a[1 :3 ])print (a[::2 ])
<class 'tuple'>
1
3
(1, 2)
(0, 2, 'a')
튜플 연산자 사용 1 2 3 4 5 6 t1 = (0 ,1 ,2 ) t2 = ("a" , "b" , "c" ) print (t1 + t2)print (t1 * 3 )print (t1 * 0 )
(0, 1, 2, 'a', 'b', 'c')
(0, 1, 2, 0, 1, 2, 0, 1, 2)
()
딕셔너리
Key와 Value로 구분됨
중괄호({‘키1’:’값1’, ‘키2’:’값2’})를 사용하여 표현
1 2 3 4 5 6 7 8 dict_01 = {'teacher' : 'evan' , 'class' : '601호' , 'open' : '2022-03-10' , 'students' : 24 , 'names' : ['A' , 'B' , 'R' , 'Z' ]} print (dict_01['teacher' ])print (dict_01['open' ])print (dict_01['names' ])
evan
2022-03-10
['A', 'B', 'R', 'Z']
1 2 3 print (dict_01.keys())print (type (dict_01.keys()))print (list (dict_01.keys()))
dict_keys(['teacher', 'class', 'open', 'students', 'names'])
<class 'dict_keys'>
['teacher', 'class', 'open', 'students', 'names']
1 2 3 print (dict_01.values())print (type (dict_01.values()))print (list (dict_01.values()))
dict_values(['evan', '601호', '2022-03-10', 24, ['A', 'B', 'R', 'Z']])
<class 'dict_values'>
['evan', '601호', '2022-03-10', 24, ['A', 'B', 'R', 'Z']]
dict_items([('teacher', 'evan'), ('class', '601호'), ('open', '2022-03-10'), ('students', 24), ('names', ['A', 'B', 'R', 'Z'])])
1 2 3 4 5 6 7 print (dict_01.get("teacher" ))print (dict_01.get("선생님" )) print (dict_01.get("선생님" , "없음" )) print (dict_01.get("class" ))
evan
None
없음
601호
조건문 & 반복문 조건문 1 2 3 4 5 weather = '맑음' if weather == "비" : print ("우산을 가져간다." ) else : print ("우산을 가져가지 않는다." )
우산을 가져가지 않는다.
1 2 3 4 5 6 7 score = int (input ("점수를 입력하시오. : " )) if score >= 60 : print ("합격입니다." ) else : print ("불합격입니다." )
점수를 입력하시오. : 50
불합격입니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 score = int (input ("점수를 입력하시오. : " )) grade = "" if score >= 90 : grade = "A" elif score >= 80 : grade = "B" elif score >= 70 : grade = "C" elif score >= 60 : grade = "D" else : grade = "F" print (grade)
점수를 입력하시오. : 68
D
반복문 1 2 for i in range (4 ): print (i+1 , "안녕하세요!" )
1 안녕하세요!
2 안녕하세요!
3 안녕하세요!
4 안녕하세요!
1 2 3 4 5 6 7 8 9 count = range (5 ) print (count)for n in count: print (str (n+1 ) + "번째" ) if (n+1 ) == 3 : print ("stop!" ) break print ("shoot!" )
range(0, 5)
1번째
shoot!
2번째
shoot!
3번째
stop!
1 2 3 4 5 6 7 a = "hello" for x in a: if x=='l' : break print (x)
h
e
반복문 작성 방식 : zip, range, enumerate, len, etc
1 2 3 4 5 alphabets = ['A' , 'B' , 'C' ] for i, value in enumerate (alphabets): print (i, value)
0 A
1 B
2 C