반응형

일반적인 C 언어에서의 Array에서는 새로운 값을 Array에 추가하거나 기존 값을 삭제하는 것이 지원되지 않습니다.

물론 새로운 함수를 작성하면 되겠지만요.

그러나 파이썬에서는 이런 동작이 기본적으로 지원되고 있어 프로그래머들에게 아주 쉽게 코드를 작성할 수 있네요

list1 = ['가', '나', '다', '라', '마']
print("\nList1은 ", list1)

list1.append('바')
print("\nList1은 ", list1)

del list1[2]
print("\nList1은 ", list1)


위의 코드에서 list 이름에 ".append"에 새로운 값을 넣고 실행시키면 해당 list 구조체의 마지막에 추가됩니다.

그리고 "del"을 사용하여 해당 list의 원하는 인덱스를 지정하면 해당 인덱스에 저장된 값이 삭제됩니다. C 언어에서도 마찬가지이지만 첫번째 항목의 인덱스 값은 0입니다. 그래서 위의 코드에서 삭제된 것은 인덱스 2의 위치에 있는 '다'가 삭제된 것입니다.

아래 결과를 보시면 금방 이해가 되실겁니다. print문에 "\n"을 넣은건 결과를 보기 좋게 하기 위해 넣었습니다.

List1은  ['가', '나', '다', '라', '마']

List1은  ['가', '나', '다', '라', '마', '바']

List1은  ['가', '나', '라', '마', '바']


그리고 어떤 list의 특정 범위를 지정후 다른 list에 쉽게 복사할 수도 있습니다.

str1 = list1[2]
print("\nstr1은 ", str1)

list2 = list1[1:3]
print("\nList2은 ", list2)


위의 코드에서 첫번째 것은 C 언어 등에서 일반적으로 사용하는 것이니 다들 아실 것이고요.

두번째 코드를 보면 인덱스 1에서 부터 인덱스 2까지 항목을 list2에 복사하는 코드입니다. 파이썬에서는 항상 마지막 범위를 지정하는 인덱스보다 1이 작은 인덱스까지 범위가 정해집니다.

str1은  라

List2은  ['나', '라']


위의 결과를 보시면 잘 이해되겠죠.

 

반응형
Posted by HLIFEINFO
,