Python
에서는 변수에 여러가지 값을 넣을 수 있는데, 이것을 보기 쉽게 그리고 활용하기 쉽게 list
라는 것을 제공한다.
list
는 안에는 여러 값들을 넣을 수 있는데, 그 값 하나하나를 element
라한다.
▶ 소스
korea_provinces = ["강원도", "경기도", "경상도", "전라도", "충청도"]
print(korea_provinces)
# > ["강원도", "경기도", "경상도", "전라도", "충청도"]
List
에는 여러 string 이외에도 숫자, boolean 값 등 모든 type의 값을 저장 할 수 있으며, 서로 다른 type의 값들을 저장하는 것도 가능하다
▶ 소스
random_values = [1, "two", True]
print(random_values)
# > [1, "two", True]
list
에 저장되어 있는 값들 중 원하는 값을 읽어들이려면 해당 값의 순서를 통해서 읽어들일 수 있다.
list
는 자바스크립트에서 배열의 index 처럼 순서는 0번 부터 시작한다.
▶ 소스
korea_provinces = ["강원도", "경기도", "경상도", "전라도", "충청도"]
print(f"서울은 {korea_provinces[1]}에 둘러쌓여 있습니다")
# > "서울은 경기도에 둘러쌓여 있습니다"
Input으로 주어진 리스트의 첫번째와 마지막 element의 값을 더한 값을 리턴 해주세요.
만일 리스트가 비어있다면 0이 리턴되어야 합니다.
리스트의 총 길이가 1이라면 그 하나의 요소 값만 리턴해주면 됩니다.
예를 들어, 다음의 리스트가 주어졌다면:
inputs = [1, 2, 3, 4, 5]
다음과 같은 결과물이 출력 되어야 합니다.
6
만일 다음의 리스트가 주어졌다면:
inputs = [1]
다음과 같은 결과물이 출력 되어야 합니다.
1
Hint: list의 총길이는 다음처럼 len 함수를 사용해서 알아낼 수 있습니다.
length = len(inputs)
▶ 소스
def add_first_and_last_elements(my_list):
lastElindex = len(my_list)-1
if len(my_list)==0:
return 0
elif (len(my_list)==1):
return (my_list[0])
else:
return (my_list[0] + my_list[lastElindex])
▶ 소스(model solution)
def add_first_and_last_elements(my_list):
length = len(my_list)
if length > 1:
return my_list[0] + my_list[length - 1]
elif length == 1:
return my_list[0]
else:
return 0
list
에서 새로운 element
를 추가 하익 위해서는 일반적으로 append
라는 함수를 사용한다.
append
함수는 "덧붙이다"라는 뜻으로 list
에 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
함수의 문법은 다음과 같다
append
위치
list
는 순차적으로 element
를 저장하기 때문에 "덧붙이다"라는 개념의 append
함수는 list
의 맨 마지막 요소 뒤에 새로운 element
가 추가된다.
추가하고자 하는 element
가 한개 이상일때는 +
를 사용한다
list
에서 +
는 element
들을 추가 할때 대괄호('[ ]')를 사용하여 리스트의 형태로 만든 후 추가한다
즉, +
는 list
와 list
를 합하여 출력한다. 하지만 +
를 사용하기 위해서는 변수에 저장하여 사용하여야 한다
▶ 소스
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
는 list
의 index
즉, element
의 위치를 확인하여 추가할 수 있다.
▶ 소스
cities = [
"서울특별시",
"부산광역시",
"인천광역시",
"대구광역시",
"대전광역시",
]
cities.insert(1, "제주특별자치도 제주시")
print(cities)
# > ['서울특별시', '제주특별자치도 제주시', '부산광역시', '인천광역시', '대구광역시', '대전광역시']
위 소스와 문법에서 확인했듯이 insert
를 사용하여면 괄호 제일 첫번째로 element
를 추가하고자 하는 list
의 index
를 넣어야한다. 그리고 다음에는 추가하고자 하는 element
값을 넣는다
처음에 비어있는 list
를 생성한 다음에 나중에 element
들을 추가 할 수도 있다.
비어있는 list
를 만들때는 비어있는 대괄호('[]')로 생성할 수 있다.
▶ 소스
my_list = [ ]
print(my_list)
# > [ ]
my_list.append(1)
my_list = my_list + [2, 3]
print(my_list)
# > [ 1, 2, 3 ]
기존 list
에 있는 element
의 값을 수정 할 수 있다.
수정하기 위해서는 수정하고자 하는 element
의 index
값을 통해 list
에서 element
를 선택한 후 새로운 값을 지정해 주면된다
▶ 소스
cities = [
"서울특별시",
"부산광역시",
"인천광역시",
"대구광역시",
"대전광역시",
]
cities[2] = "경기도 성남시"
print(cities)
# > ['서울특별시', '제주특별자치도 제주시', '경기도 성남시', '인천광역시', '대구광역시']
▶ updating element 방법
list
이름이 위치하고주어진 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