list의 특징중 하나는 수정이 가능하다는 점입니다.
즉, list에 element를 추가 할 수 도 있고 또한 기존의 element 값을 변경할 수도 있습니다.
리스트에 새로운 element를 추가 하기 위해서는 일반적으로 append 라는 함수를 사용하면 됩니다.
영어 단어 "append" 는 "덧붙이다" 라는 뜻을 가지고 있습니다. 그 뜻대로 element를 리스트에 "덧붙인다"는 기능을 합니다.
color_list = ["Red", "Blue", "Green", "Black"]
print(color_list) ## ==> ['Red', 'Blue', 'Green', 'Black']
color_list.append("Yellow")
print(color_list) ## ==> ['Red', 'Blue', 'Green', 'Black', 'Yellow']
위에서 볼 수 있듯이 list에서 append 를 사용하는 방법은 다음과 같습니다.
<list name> <dot> <append>
(element)
위의 코드의 경우 list를 저장하고 있는 변수의 이름은 color_list 임으로 "Yellow"라는 새로운 값을 추가 하기 위해서는 다음과 같은 문법을 사용하게 됩니다.
color_list.append("Yellow")
먼저 list 이름이 위치
그 다음에 dot (점) 이 위치하고
dot 다음으로 append 가 옵니다.
그 후 괄호가 따라 붙습니다.
마지막으로 괄호 안에 추가하고자 하는 값을 넣으면 됩니다.
여기서 중요한점은, "추가한다" 라는 뜻의 "add"를 사용하지 않고 "덧붙인다" 라는 뜻의 append를 사용했다는 점입니다.
전 시간에 list는 순차적으로 element를 저장한다는 것을 배웠습니다. 즉, element가 저장되어 있는 순서가 있다는 점입니다.
그럼으로, 새로운 element를 list에 추가 할때는 마지막 element의 다음 칸에 "덧붙이게" 되는 것입니다.
추가하고자 하는 element가 한개 이상일때는 append 대신에 + 를 사용할 수 있습니다.
color_list = color_list + ["Light Blue", "Pink"]'
list에서 + 를 사용하여 element들을 추가 할때는 대괄호 ([]) 를 사용하여 리스트의 형태로 만든후 추가해야 합니다.
즉, + 는 list와 list를 합하여 줍니다.
여기서 조심해야 할 점은 + 를 사용하여 list 들을 합한 값을 다시 저장하고자 하는 변수에 지정해줘야 한다는 점입니다.
즉, 다음처럼
list1 = list1 + list2
의 형태가 되어야 한다는 점 입니다. 이 이유는, + 를 사용하면 기존의 list가 수정되지 않고 기존의 list와 다른 새로운 list가 생성되기 때문입니다.
그럼으로 새로 생성된 list를 변수에 다시 지정해 주지 않으면 기존 list들은 수정이 되지 않은 상태로 남아있게 됩니다.
list1 = [1, 2, 3, 4]
list2 = [5, 6, 7]list1 + list2
print(list1)
[1, 2, 3, 4]list1 = list1 + list2
print(list1)
[1, 2, 3, 4, 5, 6, 7]
Append 와 + 이 외에 insert를 사용해서 list에 새로운 element를 추가 할 수 있습니다.
다만 insert는 append 와 + 와는 다르게 원하는 위치에 element를 삽입 할 수 있습니다.
다음과 같은 우리나라의 도시들을 저장하고 있는 list를 예를 들어 보겠습니다.
cities = [
"서울특별시",
"부산광역시",
"인천광역시",
"대구광역시",
"대전광역시",
]
cities 에 "제주특별자치도 제주시" 를 "서울특별시" 다음에 삽입 하고자 하면 다음과 같이 할 수 있습니다.
cities.insert(1, "제주특별자치도 제주시")
insert를 사용하는 문법은 앞서 본 append와 비슷하며 차이점은 insert는 추가하고 자 하는 element 외에 element를 삽입 하고자 하는 위치(index)도 지정해줘야 합니다.
앞서 언급 했듯이 insert는 새로운 element를 원하는 위치에 삽입할때 사용됩니다.
처음에는 비어있는 list를 생성한다음에 나중에 element들을 추가 할 수도 있습니다.
Empty list, 즉 비어있는 list는 아무런 element 없는 비어있는 대괄호( [ ] )로 생성할 수 있습니다.
my_list = [ ]
my_list.append(1)
my_list = my_list + [2, 3]
새로운 element를 추가하는 거 외에도 기존의 element의 값을 수정 할 수 있습니다.
기존 element의 값을 수정하기 위해서는 수정하고자 하는 element의 index 값을 통해 list에서 element를 선택한 후 새로운 값을 지정해 주면 됩니다.
cities = [
"서울특별시",
"부산광역시",
"인천광역시",
"대구광역시",
"대전광역시",
]
cities[2] = "경기도 성남시"
주어진 2개의 리스트를 하나의 리스트로 합친 후 리스트의 첫 element와 마지막 element를 서로 바꿔준 후 리스트 전체를 출력해주세요.
예를 들어, 다음과 같은 2개의 리스트가 주어졌다면
list1 = [1, 2, 3, 4, 5]
list2 = [6, 7]
출력되야 하는 결과물은 다음과 같습니다,
[7, 2, 3, 4, 5, 6, 1]
두개 다 빈 리스트가 들어온다면 빈리스트를 반환해야 합니다.