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)

 

±×·³, ¿©·¯ºÐ ¾È³ç~.