이 파일은 제가 python 기초 강의를 들으면서 필기했던 내용들을 간단하게 정리한 것입니다.
혹시나 잘못된 정보가 포함되어있을수도 있기 때문에,
python 내용을 아시는 분들중에 잘못된 내용을 잡아내신 경우에는 댓글을 달아주시길 바랍니다.
----------------------------------------------------------------------------------------------------
저는 이미 c언어를 공부한 이후에 파이썬을 공부하고 있는 터라, 필기 내용 자체가 아무래도 c언어와 파이썬의
차이점을 위주로 정리를 했습니다. 그렇기 때문에 python을 아예 모르시는 분은 이 문서를 읽기에 약간 불편함이
있을수도 있다는 점 양해바랍니다. c언어를 어느정도 알고 이 문서를 보는걸 추천드립니다 ㅎㅎ
저도 아직 초보라 틀린 내용이 있을수 있고, 만약 그 부분을 잡아내신다면 댓글로 알려주시길 바랍니다.
들어가기 전에 리스트,딕셔너리,튜플의 기본적인 차이점 하나!
리스트: [ ] 로 묶는다
딕셔너리 : { } 로 묶는다
튜플 : ( ) 로 묶는다
파이썬 초반에 배울때는 어떤 괄호로 묶어야 할지 맨날 헷갈렸네요..ㅜ
너무나 기초적인 것이지만 헷갈릴때가 있으니 절대 잊어먹으면 안됩니다.
<<튜플>>
=> 일단, 튜플은 여러가지 방법으로 만들수있다.
1번째 방법)
tuple1 = (1,2,3)
2번째 방법)
tuple2 = 1,2,3
3번째 방법)
list3 = [1,2,3]
tuple3 = tuple(list3)
=> tuple1과 tuple2와 tuple3은 모두 같다.
------------------------------------------------------------------------------------------
이때, 튜플은 리스트처럼 순서가 정해져있다. 즉 인덱스번호로 값을 가져올수있다.
=>즉, tuple3[0] = 1
------------------------------------------------------------------------------------------
=>튜플은 한번 만들고나면 변경할수없는, 순서가 정해진 값의 연속이다.
(튜플은 값의 변경과 삭제가 불가능)
즉,
tuple3[0] = 5 (x)
del tuple[3] (x)
tuple.pop(0) (X)
등등..
다 안됨!
튜플의 값을 바꾸어주고 싶다면, 리스트나 다른 것으로 형 변환을 해야만 한다...
<<튜플을 이용한 packing,unpacking>>
1) unpacking
->
c= (3,4)
d,e = c
>> 이떄 d = 3, e = 4이다. c의 값을 unpacking해서 d와 e에 넣었다
2) packing
f = d,e
>> f는 (3,4)이다. 이때 d와 e를 f에 packing 했다.
------------------------------------------------------------------------------------------
ex)
c = (3, 4)
d, e = c # c의 값을 언패킹하여 d, e에 값을 저장
f = d, e # 변수 d와 e를 f에 패킹
<<x,y 두개의 값을 바꾸는(Swap) 방법!!>>
1. 임시변수 temp 사용 (c언어에서 맨날 사용하던 방법!)
x = 5
y = 10
temp = x
x=y
y=temp
print(x,y) # x = 10, y = 5
2. 임시변수 사용 안하고 그냥 이렇게 하는게 더 편하다.
x = 5
y = 10
y,x = x,y #너무나도 간단하다!
print(x,y) # x = 10, y = 5
<<함수의 리턴값으로 여러값을 전달할수있다!!>>
def tuple_func():
return 1,2
q,w = tuple_func()
print(q,w) # q : 1, w: 2
<<리턴값으로 튜플을 사용하는 경우....심화>>
list = [1,2,3,4,5]
for i,v in enumerate(list):
print('{}번째 값: {}'.format(i,v))
#0번째 값: 1
#1번째 값: 2
#2번째 값: 3
#3번째 값: 4
#4번째 값: 5
----------------------------------------------------------------------------------------------------------
윗 코드를 이렇게 구현할 수도 있다.
lst = [1,2,3,4,5]
for a in enumerate(lst):
print('{}번쨰 값: {}'.format(a[0],a[1]))
#0번째 값: 1
#1번째 값: 2
#2번째 값: 3
#3번째 값: 4
#4번째 값: 5
----------------------------------------------------------------------------------------------------------
또는 이렇게도 가능하다
lst = [1,2,3,4,5]
for a in enumerate(lst):
print('{}번쨰 값: {}'.format(*a))
#*a는 튜플 a를 쪼개어서 각각 넣어라!
#0번째 값: 1
#1번째 값: 2
#2번째 값: 3
#3번째 값: 4
#4번째 값: 5
<<enumerate 복습>>
lst = [1,2,3,4,5]
for a in enumerate(lst):
print(a)
=> (0,1) (1,2) (2,3) (3,4) (4,5) 가 출력된다. (인덱스, 값) 로 출력된다! 왜냐하면, enumerate 때문이다.
enumerate는 리스트의 'index번호' 와 'value(값)'을 반환한다!
즉 list의 첫번째 인덱스인 1이 맨처음 a에 들어가면, index번호인 0 과 value 인 1이 맨처음 a에 담긴다!
즉 튜플형식으로 (0,1)이 맨처음 출력되는것이다! 그 다음도 순서대로~~~
<<딕셔너리에서의 튜플>>
=>두가지방법 모두 가능!
ages = {'Tod' : 35, 'Jane' : 23, 'Paul' : 62}
for a in ages.items():
print('{}의 나이는:{}'.format(a[0], a[1]))
ages = {'Tod' : 35, 'Jane' : 23, 'Paul' : 62}
for a in ages.items():
print('{}의 나이는:{}'.format(*a)) #(딕셔너리에서도 역시 *a 가 가능하다! )
->
#tod의 나이는 35세이다.
#jane의 나이는 23세이다.
#paul의 나이는 65세이다.
# 두 출력 결과가 같다.
'Python' 카테고리의 다른 글
python 간단 정리 - (13) (0) | 2020.03.02 |
---|---|
python 간단 정리 - (12) (0) | 2020.02.28 |
python 간단 정리 - (10) - <간단한 Tip!> (0) | 2020.02.24 |
python 간단 정리 - (9) (0) | 2020.02.24 |
python 간단 정리 - (8) (0) | 2020.02.24 |