4.3. Æ©ÇÃ(tuples)
(¾´ ³¯ : 2001-05-23)
¾È³çÇϼ¼¿ä!
¿À´Ã ³¯¾¾°¡ ¾ÆÁÖ ÁÁ³×¿ä. Ãâ±ÙÇÏÁö ¸»°í ¾îµð ³î·¯°¡°í ½Í´õ¶ó±¸¿ä.
°Á¸¦ ¾²´Â °ÍÀÌ ½Ã°£ÀÌ ¸¹ÀÌ °É¸®°í °¡²û
¸Ó¸® ¾ÆÇÁ±ä ÇØµµ ³Ê¹« Àç¹ÌÀֳ׿ä.
±×·¡¼ ¿äÁòÀº Æ´¸¸ ³ª¸é ¿©±â¿¡ ¸Å´Þ·ÁÀÖ´ä´Ï´Ù.
¿À´ÃÀº Æ©ÇÃÀ̶ó´Â ÀÚ·áÇüÀÌ ¾î¶² ¾µ¸ð°¡
ÀÖ´ÂÁö ¾Ë¾Æº¸µµ·Ï ÇÏÁÒ.
Æ©ÇÃÀº ¸®½ºÆ®¿Í ºñ½ÁÇÑ ÀÚ·áÇüÀ̶ó´Â Á¤µµ¸¸
¾Ë°í ½ÃÀÛÇØº¾½Ã´Ù.
´Ù¸¥ ¾ð¾î¸¦ °øºÎÇØº¸½Å ºÐÀº µÎ º¯¼öÀÇ
°ªÀ» ¼·Î ¹Ù²Ù¾î º» ÀûÀÌ ÀÖÀ¸½Ç ÅÙµ¥¿ä, º¸Åë ´ÙÀ½°ú °°Àº ¹æ¹ýÀ» »ç¿ëÇÕ´Ï´Ù.
>>> a = 10
>>> b = 20
>>> temp = a #
a °ªÀ» temp¿¡ ÀúÀå (temp = 10)
>>> a = b #
b °ªÀ» a¿¡ ÀúÀå (a = 20)
>>> b = temp #
temp °ªÀ» b¿¡ ÀúÀå (b = 10)
>>> print a, b
20 10
ÀÌ·¸°Ô µÎ º¯¼ö °ªÀ» ¸Â¹Ù²Ù±â À§Çؼ± ¶Ç
´Ù¸¥ º¯¼ö temp°¡ ÇÊ¿äÇÕ´Ï´Ù.
Á» ¹ø°Å·ÓÁÒ? º¯¼ö°¡ ¸¹À»¼ö·Ï ´õ ±ÍÂú¾ÆÁúÅ×±¸¿ä.
±×·±µ¥ ÆÄÀ̽㿡¼± ÀÌ·± ÀÏÀ» °£´ÜÇÏ°Ô ÇÒ
¼ö ÀÖ´Â ±â¸·Èù ¹æ¹ýÀÌ ÀÖ½À´Ï´Ù.
>>> c = 10
>>> d = 20
>>> c, d = d, c
>>> print c,d
20 10
³Ê¹« °£´ÜÇÏÁö¿ä? Àú´Â À̰ÍÀ» º¸°í ¿ô¾î¹ö·È½À´Ï´Ù. ÇïÇïÇï...
¼¼ ¹øÂ° ÁÙ¿¡¼ µîÈ£ ¿ÞÂÊÀº c, d¶ó´Â º¯¼ö°¡ ´ã±ä Æ©ÇÃÀ̱¸¿ä, ¿À¸¥ÂÊÀº d¿Í cÀÇ °ªÀÌ ´ã±ä Æ©ÇÃÀÔ´Ï´Ù. ±×·¡¼ dÀÇ °ªÀº c·Î µé¾î°¡°í, cÀÇ °ªÀº
d·Î µé¾î°©´Ï´Ù.
ÀÌ·± ÀϵéÀÌ Â÷·ÊÂ÷·Ê ÀϾ´Â °ÍÀÌ ¾Æ´Ï°í, µ¿½Ã¿¡ 󸮵ȴٴ±º¿ä.
À̹ø¿£ ÇÔ¼ö¿¡¼ Æ©ÇÃÀÌ ¿ä±äÇÏ°Ô ¾²ÀÌ´Â
°ÍÀ» º¸¿©µå¸®Áö¿ä.
¾Æ·¡ÀÇ ÇÔ¼ö´Â ÀÎÀÚ(¸Å°³º¯¼ö)¸¦ ÁÖ´Â ´ë·Î ¹Þ¾Æ¸Ô´Â ÇÔ¼öÀÔ´Ï´Ù.
>>> def magu_print(x, y, *rest): # ¸¶±¸Âï¾î ÇÔ¼ö
... print x, y, rest
...
>>> magu_print(1,2,3,5,6,7,9,10)
1 2 (3, 5, 6, 7, 9, 10)
ÀÌ¿Í °°ÀÌ ¸¶±¸Âï¾î ÇÔ¼ö´Â ÀÎÀÚ¸¦ µÎ °³
ÀÌ»ó¸¸ ÁÖ¸é ³ª¸ÓÁø ´Ù ¾Ë¾Æ¼ ó¸®ÇÑ´ä´Ï´Ù.
ÇÔ¼ö¸¦ Á¤ÀÇÇÒ ¶§ ÀÎÀÚ¿¡ º°Ç¥¸¦ ºÙ¿©µÎ¸é
±× ÀÌÈÄ¿¡ µé¾î¿À´Â °ÍÀº ¸ðµÎ Æ©Çÿ¡ Áý¾î³Ö´Â °ÍÀÌÁÒ.
À§¿¡¼±
(3, 5, 6, 7, 9, 10)°¡ ÇϳªÀÇ Æ©Ç÷Π¹¿´½À´Ï´Ù.
²Ï ¾µ¸¸ÇÒ °Í °°ÁÒ? ´Ù¸¥ ¾ð¾î·Î ÀÌ·± ÇÔ¼ö¸¦ ¸¸µé·Á¸é °í»ý ²Ï³ª ÇØ¾ß ÇÒ°Å¿¹¿ä.
ÀÎÀÚ¸¦ µÎ °³, ¼¼ °³ ³Ö¾î¼µµ ½ÇÇèÇØ º¸¼¼¿ä.
Æ©ÇÃÀÇ ÁÁÀº Á¡µéÀ» ±¸°æÇßÀ¸´Ï ÀÌÁ¦ ¹®¹ýÀ»
»ìÆìº¾½Ã´Ù.
>>> t = ('a', 'b', 'c')
Æ©ÇÃÀ» ¸¸µé ¶§´Â À§¿Í °°ÀÌ °ýÈ£¸¦ ½áµµ
µÇ°í ¾È ½áµµ µË´Ï´Ù.
´Ù¸¸, ¿ø¼Ò°¡
¾ø´Â Æ©ÇÃÀ» ¸¸µé ¶§´Â °ýÈ£¸¦ ²À ½áÁÖ¼¼¿ä.
>>> empty = ()
¿ø¼Ò¸¦ Çϳª¸¸ °¡Áø Æ©ÇÃÀ» ¸¸µé ¶© ¿ø¼Ò
µÚ¿¡ ÄÞ¸¶(,)¸¦ ²À Âï¾îÁֽñ¸¿ä.
>>> one = 5,
>>> one
(5,)
±×¸®°í Æ©ÇÃÀº ¸®½ºÆ®¿Í ´Þ¸® ¿ø¼Ò°ªÀ» Á÷Á¢
¹Ù²Ü ¼ö ¾ø±â ¶§¹®¿¡, ¹®ÀÚ¿¿¡¼ Çß´ø °Íó·³ ¿À·ÁºÙÀÌ´Â ¹æ¹ýÀ» ½á¾ßÇÑ´Ù´Â °ÍÀ» ¾Ë¾ÆµÎ¼¼¿ä.
>>> p = (1,2,3)
>>> q = p[:1] + (5,) + p[2:]
>>> q
(1, 5, 3)
>>> r = p[:1], 5, p[2:]
>>> r
((1,), 5, (3,))
Æ©ÇÃÀ» ¸®½ºÆ®·Î, ¸®½ºÆ®¸¦ Æ©Ç÷Π½±°Ô ¹Ù²Ü ¼öµµ ÀÖ´ä´Ï´Ù.
>>> p = (1, 2, 3)
>>> q = list(p) #
Æ©Çà p·Î
¸®½ºÆ® q¸¦
¸¸µê
>>> q
[1, 2, 3]
>>> r
= tuple(q) #
¸®½ºÆ® q·Î
Æ©Çà rÀ»
¸¸µê
>>> r
(1, 2, 3)
±×·³, ¿©·¯ºÐ ¾È³ç~.