파이썬 list 구조체에 대한 멤버 추가나 삭제에 대한 또다른 방법들이 많네요.
이전에는 단순히 list의 마지막에 추가하거나 특정 위치의 멤버 삭제 방법만 알았는데요.
특정 위치에 삽입하는 방법도 있네요
list1 = [1, 2, 3]
print("List1은 ", list1)
list1.insert(1, 'A')
print("List1은 ", list1)
위의 소스는 인덱스 1의 위치에 'A'라는 새 멤버를 삽입하면서 추가하는 방법입니다. 실행결과는 아래에 있습니다.
List1은 [1, 2, 3]
List1은 [1, 'A', 2, 3]
'+' 연산자를 사용해서 append 효과를 낼 수 있는 방법도 있네요. list1과 list2를 합치는 코드입니다.
list1 = [1, 2, 3]
list2 = ['A', 'B', 'C']
list3 = list1 + list2
print("List1은 ", list1)
print("List2은 ", list2)
print("List3은 ", list3)
실행결과는 아래에 나와 있습니다.
List1은 [1, 2, 3]
List2은 ['A', 'B', 'C']
List3은 [1, 2, 3, 'A', 'B', 'C']
'+=' 연산자로 간단히 코드를 작성할 수도 있네요
list3 += ['가', '나']
print("List3은 ", list3)
실행결과는 아래에 나와 있습니다.
List3은 [1, 2, 3, 'A', 'B', 'C', '가', '나']
extend를 사용해서 list 구조체의 멤버들을 확장할 수 있네요
list1 = [1, 2, 3]
print("List1은 ", list1)
list1.extend(['A', 'B', 'C'])
print("List1은 ", list1)
위의 코드 실행결과는 아래와 같습니다.
List1은 [1, 2, 3]
List1은 [1, 2, 3, 'A', 'B', 'C']
이전 del과 달리 삭제할 값과 일치하는 멤버를 찾아서 삭제하는 방법도 있는데요.
list1 = ['A', 'B', 'C']
print("list1은 ", list1)
list1.remove('A')
print("list1은 ", list1)
이 방법은 아주 유용할거 같네요. 'A'와 일치하는 멤버만 삭제되었네요.
list1은 ['A', 'B', 'C']
list1은 ['B', 'C']
만약 아래와 같이 'A'가 2개가 있을 경우에는 어떨까요?
list1 = ['A', 'B', 'C', 'A']
print("\nlist1은 ", list1)
list1.remove('A')
print("\nlist1은 ", list1)
실제 실행해보니 첫번째 'A'만 하나 삭제되는군요.
list1은 ['A', 'B', 'C', 'A']
list1은 ['B', 'C', 'A']
댓글 없음:
댓글 쓰기