즐거운프로그래밍

[파이썬] 기초 다지기 tuple, dict, set와 packing operator

수수께끼 고양이 2023. 10. 27. 13:41
728x90
반응형

 

tuple, dict, set(집합, 중복된 것을 정리) 소개 (shell에서 실행하기)

t={1,2,3,4}
d={'a':1,'b':2,'c':3,'d':4}
s={1,2,2,3,3,3,4,4,4,4}
t
d
s

 

 


튜플, 사전, 집합 : 내포와 생성자  (shell에서 실행하기)

t=(i for i in range(5))
d={('key'+str(i)):i for i in range(5)}
s={i for i in range(5)}
t
d
s
type(t)
type(d)
type(s)

 

 


튜플의 기본적인 활용(콤마(,)로 분리된 항목들 / 병렬대입 / 암시적인 대입(함수를 사용한 인자)  (shell에서 실행하기)

a=(1,2,3,4)
a
type(a)
b=(1)
b
type(b)
c=(1,)
type(c)

 

 

튜플 정리

1. 동시 대입
a,b,c,=1,2,3
변수의 튜플=튜플

2. 튜플 대입
a=1,2,3
변수 = 값의 튜플

 


 

** 참고 사항

파이썬에서 ;은 다음 줄로 넘어간 것과 같은 효과
ex. e=5;f=6 (O) / e=5,f=6(X) -> 문법적으로 틀림

 


남은거 리스트로 묶기 : packing operator(묶기 연산자)  (shell에서 실행하기)

* = 매듭, 리스트로 묶어 줌

a,*_=1,2,3 # _ = [2,3] 관심(필요) 없음, 현재는 _(언더바)부분 필요없음, 함수에서 사용, 추후에 사용가능
def some_func():
    return 1,2,3
a,*_=some_func() # 1만 필요
*_,a=some_func() # 3만 필요, 기본적으로 병렬대입으로 받되 사용하지 않음(가독성을 높히기도 함)
a=some_func() # 모두 필요

 

1. 

d,*e,f=5,6,7,8
e
d,*e,f=5,6
e

 

 

 

2.

def f(*args):
    args
f(1,2,3,4)

 

 

 

3. 

for i in range(3):
    for j in range(2):
        i*j
[i*j for j in range(2) for i in range(3)]

 

 

728x90
반응형