Container¶
List
string
Dictionary
tuple
zip
In [1]:
tel = {'emmanuelle': 5752, 'sebastian': 5578}
tel
Out[1]:
In [2]:
tel['sebastian']
Out[2]:
In [3]:
# add new data
tel['francis'] = 5915
tel
Out[3]:
In [4]:
tel.keys()
Out[4]:
In [5]:
tel.values()
Out[5]:
In [6]:
# key를 사전 내에서 검색 / value는 검색이 안된다.
'francis' in tel
Out[6]:
In [7]:
u = (0, 2)
u
Out[7]:
In [8]:
t = 12345, 54321, 'hello!'
t
Out[8]:
In [9]:
t[0]
Out[9]:
튜플은 replace가 안된다.¶
In [10]:
t[0] = 1
Reference, Mutable, Immutable¶
In [11]:
a = [1, 2, 3]
b = a
In [12]:
a, b
Out[12]:
In [13]:
id(a), id(b)
Out[13]:
a, b가 같은 id를 할당받아, 같은 곳을 가리키는 것을 확인할 수 있다.¶
In [14]:
a[0] = 11
In [15]:
a, b
Out[15]:
In [16]:
b[1] = 'hi!'
In [17]:
b, a
Out[17]:
따라서 a, b가 각각 바뀜에 따라 함께 변경되는 것을 확인할 수 있다.(inplace)¶
In [18]:
a = [1, 'hi!', 3]
In [19]:
b = 1
In [20]:
a
Out[20]:
In [21]:
id(a), id(b)
Out[21]:
가리키는 id가 달라짐¶
zip¶
같은 shape의 위치를 묶어 주는 메소드!
사전, 리스트, 튜플과 함께 사용하면 유용하다!
In [22]:
a = [1, 2, 3]
b = [10, 20, 30]
In [23]:
c = zip(a, b)
c
Out[23]:
In [24]:
list(c)
Out[24]:
In [25]:
dict(c)
Out[25]:
위에서 보듯이 zip을 한 상태에서 하나의 컨테이너에 넣으면 두 번째에는 비어있음을 확인할 수 있다.¶
pop( ) 처럼
In [26]:
c = zip(a, b)
c
dict(c)
Out[26]:
In [27]:
c = zip(a, b)
d = zip(*c)
list(d)
Out[27]:
In [28]:
c = zip(a, b)
e = zip(*zip(*c))
list(e)
Out[28]:
zip(*c)
처럼 *
를 zip안에 넣으면 묶였던 것이 풀린다.
Code Line-Break 줄 띄어쓰기¶
리스트나 딕셔너리 정의, 함수 호출/정의 등의 경우에는 문법적으로 완료되지 않으면 그냥 다음 줄 사용 가능
그렇지 않은 경우 backslash( \ )를 사용
In [29]:
a = [1, 2, 3,
4, 5, 6]
a
Out[29]:
In [30]:
a = 1 + 3 + 4 +
5 + 6 + 7
In [31]:
a = 1 + 3 + 4 + \
5 + 6 + 7
a
Out[31]: