TIL[38]. Python_Adding And Changing Elements To Lists

jake.log·2020년 8월 23일
0

Python

목록 보기
20/39

20.Adding And Changing Elements To Lists

Adding And Changing Elements To List

  • list의 특징중 하나는 수정이 가능하다는 점이다.
  • list에 element를 추가 할 수 도 있고 또한 기존의 element 값을 변경할 수도 있다.

Adding elements to list

1. Append

리스트에 새로운 element를 추가 하기 위해서는 일반적으로 append 라는 함수를 사용하면 된다.


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")

2. +

추가하고자 하는 element가 한개 이상일때는 append 대신에 + 를 사용할 수 있다.

color_list = color_list + ["Light Blue", "Pink"]'

list에서 + 를 사용하여 element들을 추가 할때는 대괄호 ([]) 를 사용하여 리스트의 형태로 만든후 추가해야 한다.

  • 를 사용하여 list 들을 합한 값을 다시 저장하고자 하는 변수에 지정해줘야 한다
list1 = list1 + list2

+ 를 사용하면 기존의 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]

3. insert

Append 와 + 이 외에 insert를 사용해서 list에 새로운 element를 추가 할 수 있다.

insert는 원하는 위치에 element를 삽입 할 수 있습니다.

예시)

cities = [
    "서울특별시",
    "부산광역시",
    "인천광역시",
    "대구광역시",
    "대전광역시",
]

cities 에 "제주특별자치도 제주시" 를 "서울특별시" 다음에 삽입할 때,

cities.insert(1, "제주특별자치도 제주시")

insert를 사용하는 문법은 앞서 본 append와 비슷하며 차이점은 insert는 추가하고 자 하는 element 외에 element를 삽입 하고자 하는 위치(index)도 지정해줘야 한다.

4.Empty List

처음에는 비어있는 list를 생성하고 element들을 추가 할 수 있다.
Empty list, 즉 비어있는 list는 아무런 element 없는 비어있는 대괄호( [ ] )로 생성한다.

my_list = [ ]
my_list.append(1)
my_list = my_list + [2, 3]

5.Updating Elements

새로운 element를 추가하는 거 외에도 기존의 element의 값을 수정이 가능.

기존 element의 값을 수정하기 위해서 수정하고자 하는 element의 index 값을 통해 list에서 element를 선택한 후 새로운 값을 지정해 주면 된다.

cities = [
"서울특별시",
"부산광역시",
"인천광역시",
"대구광역시",
"대전광역시",
]
cities[2] = "경기도 성남시"

Assignment

주어진 2개의 리스트를 하나의 리스트로 합친 후 리스트의 첫 element와 마지막 element를 서로 바꿔준 후 리스트 전체를 출력해주세요.

예를 들어, 다음과 같은 2개의 리스트가 주어졌다면

list1 = [1, 2, 3, 4, 5]
list2 = [6, 7]

출력되야 하는 결과물은 다음과 같습니다,

[7, 2, 3, 4, 5, 6, 1]

두개 다 빈 리스트가 들어온다면 빈리스트를 반환해야 합니다.

My solution

  def merge_and_swap(list1, list2):

    merge_list = list1 + list2  
   
    if len(list1) > 0 or len(list2) > 0:
        merge_list[0] = merge_list[-1]
        merge_list[-1] = list1[0]
        swap_list = merge_list 
        return swap_list        
       
    else: 
       return merge_list

Model solution

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
profile
꾸준히!

0개의 댓글