List의 특징중 하나는 수정이 가능하다는 점이다
즉, list에 element를 추가 할 수도 있고, 또한 기존의 element 값을 변경할 수도 있다.
list에 새로운 element를 추가하기 위해서는 일반적으로 'append'라는 함수를 사용한다. append는 "덧붙이다"라는 뜻으로, 뜻 그대로 element를 list에 덧붙이는 기능을 한다
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에 새로운 element 값을 추가하는 구문은 다음과 같다
먼저 list 이름이 위치
그 다음 dot(점)이 위치
dot 다음에 append 가 위치
그 후 괄호가 위치
괄호안에 추가하고자 하는 element 값을 넣는다
append는 덧붙이는 의미로 list의 마지막부분에 새로운 element들이 붙게 된다.
추가하고자 하는 element가 한개 이상일때는 append 대신에 +를 사용하여 추가할 수 있다
olor_list = color_list + ["Light Blue", "Pink"]'
+를 사용하여 element를 추가할 때는 대괄호([]) 즉, list의 형태로 추가하여야 한다
따라서 list + list 형태로 list에 element를 추가하는 방법이다
list1 = [1, 2, 3, 4]
list2 = [4, 5, 6]
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와 +와 다르게 원하는 위치(index)에 element를 삽입할 수 있다
cities = [
"서울특별시",
"부산광역시",
"인천광역시",
"대구광역시",
"대전광역시",
]
cities.insert(1, "제주특별자치도 제주시")
# >> ['서울특별시', '제주특별자치도 제주시', '부산광역시', '인천광역시', '대구광역시', '대전광역시']
insert는 구문에서 보았듯이 element가 추가될 위치(index)를 지정하여 추가한다.
기존 list
에 있는 element
의 값을 수정 할 수 있다.
수정하기 위해서는 수정하고자 하는 element
의 index
값을 통해 list
에서 element
를 선택한 후 새로운 값을 지정해 주면된다
▶ 소스
cities = [
"서울특별시",
"부산광역시",
"인천광역시",
"대구광역시",
"대전광역시",
]
cities[2] = "경기도 성남시"
print(cities)
# > ['서울특별시', '부산광역시', '경기도 성남시', '대구광역시', '대전광역시']
▶ updating element 방법
list
이름이 위치하고처음에 비어있는 list를 생성한 다음에 나중에 element들을 추가할 수 있다
즉, Empty list는 비어있는 list로 아무런 element가 없는 list이다
my_list = [ ]
my_list.append(1)
my_list = my_list + [2, 3]
print(my_list)
# >> [1,2,3]
주어진 2개의 리스트를 하나의 리스트로 합친 후 리스트의 첫 element와 마지막 element를 서로 바꿔준 후 리스트 전체를 출력해주세요.
예를 들어, 다음과 같은 2개의 리스트가 주어졌다면
list1 = [1, 2, 3, 4, 5]
list2 = [6, 7]
출력되야 하는 결과물은 다음과 같습니다,
[7, 2, 3, 4, 5, 6, 1]
빈 리스트가 들어온다면 빈리스트를 반환해야 합니다.
▶ 소스
def merge_and_swap(list1, list2):
lengL1 = len(list1)
lengL2 = len(list2)
newList = list1 + list2
lengnewList = lengL1 + lengL2
if (lengL1==0):
if (lengL2==0):
return newList
else:
newList[0]=list2[lengL2-1]
newList[lengnewList-1]=list2[0]
return newList
elif (lengL2==0):
newList[0]=list1[lengL1-1]
newList[lengnewList-1]=list1[0]
return newList
else:
newList = list1 + list2
newList[0]=list2[lengL2-1]
newList[lengnewList-1]=list1[0]
return(newList)
▶ 소스(model soultion)
def merge_and_swap(list1, list2):
list1 = list1 + list2
length = len(list1)
if length > 1:
first = list1[0]
last = list1[length - 1]
list1[0] = last
list1[length - 1] = first
return list1
else:
return list1