¿©±â¿¡ ÁöÇ¥¸¦ »ç¿ëÇÏ¿© ¸®½ºÆ®ÀÇ ±¸¼º¿ä¼Ò¿¡ Á¢±ÙÇÏ´Â ¾à°£ÀÇ ¿¹Á¦°¡ ÀÖ´Ù:
>>> list = ['zero','one','two','three','four','five'] >>> list[0] 'zero' >>> list[4] 'four' >>> list[5] 'five'ÀÌ·¯ÇÑ ¸ðµç ¿¹Á¦µéÀº ¿©·¯ºÐ¿¡°Ô ¸Å¿ì Ä£¼÷ÇÏ°Ô º¸¿©¾ß¸¸ ÇÑ´Ù. ¿©·¯ºÐÀÌ ¸®½ºÆ®¿¡¼ ù ¹ø° Ç׸ñÀ» ¿øÇÑ´Ù¸é ´ÜÁö ÁöÇ¥ 0À» »ìÆ캸¶ó. µÎ ¹ø° Ç׸ñÀº ÁöÇ¥ 1 ÀÌ°í ±×·±½ÄÀ¸·Î ¸®½ºÆ®ÀÇ ¸¶Áö¸·±îÁö °£´Ù. ±×·¸Áö¸¸ ¿©·¯ºÐÀÌ ¸®½ºÆ®ÀÇ ¸¶Áö¸· Ç׸ñÀ» ¿øÇÑ´Ù¸é ¾î¶»°Ô ÇÒ±î? ÇϳªÀÇ ¹æ¹ýÀº '
list[len(list)-1]
'¿Í °°ÀÌ len
ÇÔ¼ö¸¦ »ç¿ëÇÏ´Â °ÍÀÌ´Ù. len
ÇÔ¼ö°¡ Ç×»ó ¸¶Áö¸· ÁöÇ¥ ´õÇϱâ 1 °ªÀ» ¹ÝȯÇØ ÁֹǷΠÀÌ°ÍÀº Àß ÀÛµ¿ÇÑ´Ù. ¸¶Áö¸·À¸·ÎºÎÅÍ µÎ ¹ø°´Â ±×·¯¸é list[len(list)-2]
ÀÌ µÉ °ÍÀÌ´Ù. ÀÌ°ÍÀ» À§ÇÑ ´õ ½¬¿î ¹æ¹ýÀÌ ÀÖ´Ù. ÆÄÀ̽㿡¼ °¡Àå ¸¶Áö¸· Ç׸ñÀº Ç×»ó 'index-1' ÀÌ´Ù. ¸¶Áö¸·¿¡¼ µÎ¹ø°´Â 'index -2' ÀÌ´Ù. µîµî. ¿©±â¿¡ ¿¹Á¦¸¦ ´õ º¸Àδٸé:
>>> list[len(list)-1] 'five' >>> list[len(list)-2] 'four' >>> list[-1] 'five' >>> list[-2] 'four' >>> list[-6] 'zero'ÀÌ·¸°Ô ¸®½ºÆ®ÀÇ ¾î¶² Ç׸ñµµ µÎ °¡Áö ¹æ¹ýÀ¸·Î ÁöÇ¥È µÉ ¼ö ÀÖ´Ù : ¾ÕÀ¸·Î ºÎÅÍ ±×¸®°í µÚ·Î ºÎÅÍ
¸®½ºÆ®ÀÇ ºÎºÐÀ¸·Î µé¾î°¡´Â ¶Ç ´Ù¸¥ À¯¿ëÇÑ ¹æ¹ýÀº ½ä±âÀÌ´Ù. ¿©±â¿¡ ¿©·¯ºÐ¿¡°Ô ½ä±â°¡ ¹«¾ù¿¡ À¯¿ëÇÑÁö ¾ÆÀ̵ð¾î¸¦ Á¦°øÇÏ´Â ¶Ç ´Ù¸¥ ¿¹Á¦°¡ ÀÖ´Ù.:
>>> list = [0,'Fred',2,'S.P.A.M.','Stocking',42,"Jack","Jill"] >>> list[0] 0 >>> list[7] 'Jill' >>> list[0:8] [0, 'Fred', 2, 'S.P.A.M.', 'Stocking', 42, 'Jack', 'Jill'] >>> list[2:4] [2, 'S.P.A.M.'] >>> list[4:7] ['Stocking', 42, 'Jack'] >>> list[1:5] ['Fred', 2, 'S.P.A.M.', 'Stocking']½ä±â´Â ¸®½ºÆ®ÀÇ ºÎºÐÀ» ¹ÝȯÇϴµ¥ »ç¿ëµÈ´Ù. ½ä±â ¿¬»êÀÚ´Â
list[first_index:following_index]
ÀÇ ÇüÅ·Π»ç¿ëµÈ´Ù.
½ä±â´Â first_index
·ÎºÎÅÍ following_index
¾ÕÀÇ ÁöÇ¥±îÁö ½ÇÇàµÈ´Ù. ¿©·¯ºÐÀº ÁöÇ¥È ÇüÅ µÎ °¡Áö ¸ðµÎ¸¦ »ç¿ëÇÒ ¼ö ÀÖ´Ù:
>>> list[-4:-2] ['Stocking', 42] >>> list[-4] 'Stocking' >>> list[-4:6] ['Stocking', 42]½ä±â¿¡ ´ëÇÑ ¶Ç ´Ù¸¥ ²Ä¼ö´Â ÁöÇ¥¸¦ »ý·«ÇÏ´Â °ÍÀÌ´Ù. ¸¸¾à ù ¹ø° ÁöÇ¥°¡ »ý·«µÇ¸é ¸®½ºÆ®ÀÇ Ã³À½À̶ó°í °¡Á¤µÈ´Ù. ¸¸¾à ´ÙÀ½ÀÇ ÁöÇ¥°¡ »ý·«µÇ¸é ±× ¸®½ºÆ®ÀÇ ³ª¸ÓÁö Àüü¶ó°í °¡Á¤µÈ´Ù. ¿©±â¿¡ ¾à°£ÀÇ ¿¹Á¦°¡ ÀÖ´Ù:
>>> list[:2] [0, 'Fred'] >>> list[-2:] ['Jack', 'Jill'] >>> list[:3] [0, 'Fred', 2] >>> list[:-5] [0, 'Fred', 2]¿©±â¿¡ ÇϳªÀÇ ÇÁ·Î±×·¥ ¿¹Á¦°¡ ÀÖ´Ù. (¿©·¯ºÐÀÌ ¿øÇÑ´Ù¸é ½Ã¸¦ Á¤ÀÇÇÏ´Â ÇüÅ·Πº¹»çÇÏ°í ºÙ¿©³Ö¾î¶ó):
poem = ["<B>","Jack","and","Jill","</B>","went","up","the","hill","to","<B>",\ "fetch","a","pail","of","</B>","water.","Jack","fell","<B>","down","and",\ "broke","</B>","his","crown","and","<B>","Jill","came","</B>","tumbling",\ "after"] def get_bolds(list): true = 1 false = 0 ## is_bold tells whether or not the we are currently looking at ## a bold section of text. is_bold = false ## start_block is the index of the start of either an unbolded ## segment of text or a bolded segment. start_block = 0 for index in range(len(list)): ##Handle a starting of bold text if list[index] == "<B>": if is_bold: print "Error: Extra Bold" ##print "Not Bold:",list[start_block:index] is_bold = true start_block = index+1 ##Handle end of bold text if list[index] == "</B>": if not is_bold: print "Error: Extra Close Bold" print "Bold [",start_block,":",index,"] ",\ list[start_block:index] is_bold = false start_block = index+1 get_bolds(poem)Ãâ·ÂÀ» º¸Àδٸé:
Bold [ 1 : 4 ] ['Jack', 'and', 'Jill'] Bold [ 11 : 15 ] ['fetch', 'a', 'pail', 'of'] Bold [ 20 : 23 ] ['down', 'and', 'broke'] Bold [ 28 : 30 ] ['Jill', 'came']
get_bold
ÇÔ¼ö´Â ÇϳªÀÇ ¸®½ºÆ®¸¦ ºÒ·¯µé¿© ´Ü¾î¿Í ÅäÅ«À¸·Î ºÐ¸®ÇÑ´Ù. ±× ÇÔ¼ö°¡ ã´Â ÅäÅ«Àº ±½Àº ±Û¾¾Ã¼ÀÇ ½ÃÀÛÀ» ³ªÅ¸³»´Â '<B>
'¿Í ±½Àº ±Û¾¾Ã¼ÀÇ ¸¶Áö¸·À» ³ªÅ¸³»´Â ' <\B>
' ÀÌ´Ù. ±× ÇÔ¼ö get_bold
´Â ÁøÇàÇÏ¸é¼ Ã³À½°ú ¸¶Áö¸· ÅäÅ«À» Ž»öÇÑ´Ù.
¸®½ºÆ®ÀÇ ´ÙÀ½ »ç¾çÀº ±×µéÀ» º¹»çÇÏ´Â °ÍÀÌ´Ù. ¿©·¯ºÐÀÌ ´ÙÀ½°ú °°ÀÌ °£´ÜÇÑ ¾î¶² °ÍÀ» ½ÃµµÇØ º»´Ù¸é:
>>> a = [1,2,3] >>> b = a >>> print b [1, 2, 3] >>> b[1] = 10 >>> print b [1, 10, 3] >>> print a [1, 10, 3]ÀÌ°ÍÀº ¾Æ¸¶µµ ³î¶ó¿ö º¸ÀÏ °ÍÀÌ´Ù. ¿Ö³ÄÇϸé b ¿¡ ´ëÇÑ º¯°æÀÌ a ¸¦ º¯°æÇÑ °á°ú°¡ µÇ¾ú±â ¶§¹®ÀÌ´Ù. »óȲÀº '
b = a
' ¼¼ú¹®ÀÌ b ¸¦ a ¿¡ ´ëÇÑ ÂüÁ¶Á¡À¸·Î ¸¸µé¾ú±â ¶§¹®ÀÌ´Ù. ÀÌ°ÍÀÌ ¶æÇÏ´Â ¹Ù´Â b¸¦ aÀÇ ´Ù¸¥ À̸§À¸·Î »ý°¢Çصµ ÁÁ´Ù´Â °ÍÀ» ÀǹÌÇÑ´Ù. ±×·¯¹Ç·Î b¿¡ ´ëÇÑ ¾î¶°ÇÑ º¯°æµµ a ¸¦ ¿ª½Ã º¯°æ½ÃŲ´Ù. ±×·¸Áö¸¸ b Àüü¿¡´Ù ÇÒ´çÇÏ´Â ÇÔ¼ö¸¦ »ç¿ëÇÏ¸é¼ a ¸¦ º¯°æÇÏÁö ¸¶¶ó:
>>> a = [1,2,3] >>> b = a >>> b = b*2 >>> print a [1, 2, 3] >>> print b [1, 2, 3, 1, 2, 3]ÀÌ °æ¿ì¿¡´Â '
b = b*2
'¼¼ú¹®ÀÌ º¹»çº» Çϳª¸¦ »ý¼ºÇϹǷΠb ´Â ´õ ÀÌ»ó a¿¡ ´ëÇÑ ÂüÁ¶Á¡ÀÌ ¾Æ´Ï´Ù.
±âº»ÀûÀ¸·Î ¿©·¯ºÐÀÌ 'whole_list_b = whole_list_a
'¿Í °°Àº ¼¼ú¹®À» °¡Áö°í ÀÖ´Ù¸é ¿©·¯ºÐÀº ÇϳªÀÇ ÂüÁ¶¸¦ »ý¼ºÇÏ°í ÀÖ´Â °ÍÀÌ´Ù. ¿©·¯ºÐÀÌ ¸®½ºÆ®¸¦ Àμö·Î¼ ÇÔ¼ö¿¡ ³Ñ±æ ¶§¿¡µµ ¿©·¯ºÐÀº ¿ª½Ã ÁÖ¼ÒÁ¡À» »ý¼ºÇÏ°í ÀÖ´Â °ÍÀÌ´Ù. whole_list_b
¿¡ ´ëÇÑ ºÎÂ÷ÀûÀÎ º¯°æÀº ¿ø·¡ÀÇ ¸®½ºÆ®¸¦ º¯°æÇÒ °ÍÀÌ´Ù. ´ëºÎºÐÀÇ °æ¿ì¿¡ ¿©·¯ºÐÀº ÀÌ·¯ÇÑ ºÒÀÏÄ¡¿¡ ´ëÇÏ¿© °ÆÁ¤ÇÒ ÇÊ¿ä°¡ ¾ø´Ù. ±×·¸Áö¸¸ ¿©·¯ºÐÀº ¸®½ºÆ®ÀÇ º¹»çº»À» °¡Áú ÇÊ¿ä°¡ ÀÖÀ» ¶§ ½ÇÁ¦·Î ÇϳªÀÇ º¹»çº»À» »ý¼ºÇß´ÂÁö È®½ÇÇÏ°Ô Çؾ߸¸ ÇÑ´Ù.
¸®½ºÆ®¸¦ º¹»çÇÏ´Â ¿©·¯ ¹æ¹ýµéÀÌ ÀÖ´Ù. ´ëºÎºÐÀÇ °æ¿ì¿¡ ÀÖ¾î¼ Àß ÀÛµ¿ÇÏ´Â °¡Àå °£´ÜÇÑ °ÍÀº ½ä±â(slice) ¿¬»êÀÚÀÌ´Ù:
>>> a = [1,2,3] >>> b = a[:] >>> b[1] = 10 >>> print a [1, 2, 3] >>> print b [1, 10, 3]½ä±â "[:]"´Â ¸®½ºÆ®¿¡ ´ëÇÑ º¹»çº»À» »ý¼ºÇÑ´Ù. ±×·¸Áö¸¸ ¹Ù±ùÂÊ ¸®½ºÆ®¸¸ º¹»çÇÑ´Ù. ¸¸¾à ±× ¸®½ºÆ®°¡ ¸®½ºÆ®¸¦ Æ÷ÇÔÇÏ°í ÀÖ´Ù¸é ¾È ÂÊÀÇ ¸®½ºÆ®µµ ¿ª½Ã º¹»çµÉ ÇÊ¿ä°¡ ÀÖ´Ù. ¿©·¯ºÐÀº ±×°ÍÀ» ¼öµ¿À¸·Î ÇÒ ¼öµµ ÀÖ°ÔÁö¸¸, ÆÄÀ̽ãÀº ÀÌ¹Ì ±×·± ÀÏÀ» ÇÏ´Â ¸ðµÑÀ» Æ÷ÇÔÇÏ°í ÀÖ´Ù. ¿©·¯ºÐÀº copy ¸ðµâ¿¡ ÀÖ´Â deepcopy ÇÔ¼ö¸¦ »ç¿ëÇÒ ¼ö ÀÖ´Ù:
>>> import copy >>> a = [[1,2,3],[4,5,6]] >>> b = a[:] >>> c = copy.deepcopy(a) >>> b[0][1] = 10 >>> c[1][1] = 12 >>> print a [[1, 10, 3], [4, 5, 6]] >>> print b [[1, 10, 3], [4, 5, 6]] >>> print c [[1, 2, 3], [4, 12, 6]]¹«¾ùº¸´Ùµµ a ´Â ¹è¿ÀÇ ¹è¿À̶ó´Â °ÍÀ» ÁÖ¸ñÇ϶ó. ¾ÈÂÊÀÇ ¹è¿Àº ½ä±â ¿¬»êÀÚ·Î Á¤È®ÇÏ°Ô º¹»çµÇÁö ¾Ê´Â´Ù. ±×·¸Áö¸¸ deepcopy·Î c´Â Á¤È®ÇÏ°Ô º¹»çµÈ´Ù. Àá-±ñ : ÀÌ·±°Ô Àǹ̰¡ Àִ°¡?
Áö±Ý±îÁö ¿©·¯ºÐÀº ¾Æ¸¶µµ ¿Ö ÂüÁ¶°¡ »ç¿ëµÇ´ÂÁö µµ´ëü ÀÌÇØ°¡ ¾È°¥ °ÍÀÌ´Ù? ±âº»ÀûÀÎ ÀÌÀ¯´Â ¼Ó·Â ¶§¹®ÀÌ´Ù. ¼öõÀÇ ¿ä¼Òµé ¸ðµÎ¸¦ º¹»çÇÏ´Â °Í º¸´Ù´Â ±×°ÍµéÀ» ÂüÁ¶ÇÏ´Â ÆíÀÌ ÈξÀ ´õ ºü¸£´Ù. ±×·¯Áö ¾Ê¾Æ¾ß ÇÒ¶§ µ¥ÀÌŸ°¡ º¯ÇÏ´Â ±«ÀÌÇÑ ¹®Á¦¸¦ ¿©·¯ºÐÀÌ °¡Áö´õ¶óµµ ÂüÁ¶¿¡ °üÇÏ¿© ¿©·¯ºÐÀº ´ÜÁö ÀÌ »ç½Ç¸¸Àº ±â¾ïÇ϶ó.