첫번째로, 문자열에 대해서 알아볼게요~😀
문자열(String)이란 문자, 단어 등으로 구성된 문자들의 집합을 의미
문자열 슬라이싱
a[0:5]
'Life '
a[0] + a[1] + a[2] + a[3] + a[4]와 동일해요!
format 함수를 사용한 포매팅
(1) 숫자 바로 대입
"I eat {0} apples".format(3)
'I eat 3 apples'
(2) 문자열 바로 대입
"I eat {0} apples".format("five")
'I eat five apples'
(3) 2개 이상의 값 넣기
number = 10
day = "three"
"I ate {0} apples. so I was sick for {1} days.".format(number, day)
'I ate 10 apples. so I was sick for three days.'
(4) 왼쪽 정렬
"{0:<10}".format("hi")
'hi '
(5) 오른쪽 정렬
"{0:>10}".format("hi")
' hi'
(6) 가운데 정렬
"{0:^10}".format("hi")
' hi '
f 문자열 포매팅
파이썬 3.6 버전부터는 f 문자열 포매팅 기능을 사용가능
(1) 문자열 앞에 f 접두사를 붙이면 f 문자열 포매팅 기능을 사용
name = '홍길동'
age = 30
f'나의 이름은 {name}입니다. 나이는 {age}입니다.'
'나의 이름은 홍길동입니다. 나이는 30입니다.'
(2) 딕셔너리는 Key와 Value라는 것을 한 쌍으로 갖는 자료형
d = {'name':'홍길동', 'age':30}
f'나의 이름은 {d["name"]}입니다. 나이는 {d["age"]}입니다.'
'나의 이름은 홍길동입니다. 나이는 30입니다.'
(3) f 문자열을 이용한 정렬
f'{"hi":<10}' # 왼쪽 정렬
'hi '
f'{"hi":>10}' # 오른쪽 정렬
' hi'
f'{"hi":^10}' # 가운데 정렬
' hi '
(4) 공백 채우기
f'{"hi":=^10}' # 가운데 정렬하고 '=' 문자로 공백 채우기
'====hi===='
f'{"hi":!<10}' # 왼쪽 정렬하고 '!' 문자로 공백 채우기
'hi!!!!!!!!'
문자열 관련 함수
(1) count => 문자 개수 세기
a = "hobby"
a.count('b')
2
문자열 중 문자 b의 개수를 돌려줍니다!
(2) find => 위치 알려주기
a = "Python is the best choice"
a.find('b')
14
a.find('k')
-1
문자열 중 문자 b가 처음으로 나온 위치를 반환해줍니다.
찾는 문자나 문자열이 존재하지 않는다면 -1을 반환해요.
(3) index = > 위치 알려주기
a = "Life is too short"
a.index('t')
8
a.index('k')
Traceback (most recent call last):
File "", line 1, in
ValueError: substring not found
두번째로, 리스트에 대해서 알아볼게요~😀
(1) 사용 방법
리스트명 = [요소1, 요소2, 요소3, ...]
(2) 리스트 반복하기
a = [1, 2, 3]
a * 3
[1, 2, 3, 1, 2, 3, 1, 2, 3]
(3) 리스트 길이 구하기
a = [1, 2, 3]
len(a)
3
세번째로, 튜플에 대해서 알아볼게요~😀
튜플과 리스트의 차이점!!!
리스트는 [ ]으로 둘러싸지만 튜플은 ( )으로 둘러쌈
리스트는 그 값의 생성, 삭제, 수정이 가능하지만 튜플은 그 값을 바꿀 수 없음!!
(1) 자, 먼저 튜플의 모습은~~?
t1 = ()
t2 = (1,)
t3 = (1, 2, 3)
t4 = 1, 2, 3
t5 = ('a', 'b', ('ab', 'cd'))
단지 1개의 요소만을 가질 때는 요소 뒤에 콤마(,)를 반드시 붙여야 한다!
t4 = 1, 2, 3처럼 괄호( )를 생략해도 무방하다
(2) 인덱싱하기
t1 = (1, 2, 'a', 'b')
t1[0]
1
t1[3]
'b'
(3) 슬라이싱하기
t1 = (1, 2, 'a', 'b')
t11:
(4) 길이 구하기
t1 = (1, 2, 'a', 'b')
len(t1)
4
네번째로, 딕셔너리에 대해서 알아볼게요~😀
(1) 딕셔너리의 기본 모습
{Key1:Value1, Key2:Value2, Key3:Value3, ...}
리스트와 튜플과 다르게 {key : value}로 저장됩니다!
예시
dic = {'name':'pey', 'phone':'0119993323', 'birth': '1118'}
(2) 딕셔너리 추가하기
a = {1: 'a'}
a[2] = 'b'
a
{1: 'a', 2: 'b'}
딕셔너리 a에 Key와 Value가 각각 2와 'b'인 2 : 'b'라는 딕셔너리 쌍이 추가됨!
(3) 딕셔너리 요소 삭제하기
del a[1]
a
{2: 'b', 'name': 'pey', 3: [1, 2, 3]}
(4) Key를 사용하여 Value 얻기
grade = {'pey': 10, 'julliet': 99}
grade['pey']
10
grade['julliet']
99
Key의 Value를 얻기 위해서는 딕셔너리변수이름[Key]를 사용한다!!
(5) 딕셔너리 생성시 주의 사항
Key는 고유한 값이므로 중복되는 Key 값을 설정해 놓으면 하나를 제외한 나머지 것들이 모두 무시됨.
Key에 리스트는 쓸 수 없지만 튜플은 Key로 쓸 수 있다 => 리스트는 값이 변할 수 있기 때문에 불가!
(6) Key 리스트 만들기
a = {'name': 'pey', 'phone': '0119993323', 'birth': '1118'}
a.keys()
dict_keys(['name', 'phone', 'birth'])
(7) Value 리스트 만들기
a.values()
dict_values(['pey', '0119993323', '1118'])
(8) Key, Value 모두 얻기
a.items()
dict_items([('name', 'pey'), ('phone', '0119993323'), ('birth', '1118')])
(9) Key로 Value 얻기
a = {'name':'pey', 'phone':'0119993323', 'birth': '1118'}
a.get('name')
'pey'
a.get('phone')
'0119993323'
다섯번째로, 집합 자료형에 대해서 알아볼게요~😀
(1) 집합 자료형의 특징
(2) 교집합, 합집합, 차집합 구하기
s1 = set([1, 2, 3, 4, 5, 6])
s2 = set([4, 5, 6, 7, 8, 9])
교집합
s1 & s2
{4, 5, 6}
또는
s1.intersection(s2)
{4, 5, 6}
합집합
s1 | s2
{1, 2, 3, 4, 5, 6, 7, 8, 9}
합집합
s1 | s2
{1, 2, 3, 4, 5, 6, 7, 8, 9}
또는
s1.union(s2)
{1, 2, 3, 4, 5, 6, 7, 8, 9}
차집합
s1 - s2
{1, 2, 3}
s2 - s1
{8, 9, 7}
또는
s1.difference(s2)
{1, 2, 3}
s2.difference(s1)
{8, 9, 7}