Python - Adding And Changing Elements To Lists

황인용·2019년 12월 11일
0

Python

목록 보기
17/44

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

Adding elements to List

1. Append

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 값을 추가하는 구문은 다음과 같다

  1. 먼저 list 이름이 위치
    image.png

  2. 그 다음 dot(점)이 위치
    image.png

  3. dot 다음에 append 가 위치
    image.png

  4. 그 후 괄호가 위치
    image.png

  5. 괄호안에 추가하고자 하는 element 값을 넣는다
    image.png

append는 덧붙이는 의미로 list의 마지막부분에 새로운 element들이 붙게 된다.

image.png

2. +

추가하고자 하는 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]

image.png

3. insert

Append와 + 이 외에 insert 를 사용하여 list에 새로운 element를 추가 할 수 있다.
insert는 append와 +와 다르게 원하는 위치(index)에 element를 삽입할 수 있다

cities = [
    "서울특별시",
    "부산광역시",
    "인천광역시",
    "대구광역시",
    "대전광역시",
]
cities.insert(1, "제주특별자치도 제주시")
# >> ['서울특별시', '제주특별자치도 제주시', '부산광역시', '인천광역시', '대구광역시', '대전광역시']

image.png

insert는 구문에서 보았듯이 element가 추가될 위치(index)를 지정하여 추가한다.

image.png

Updating Elements

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

▶ 소스

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

▶ updating element 방법

  1. 먼저 list이름이 위치하고

image.png

  1. 그 다음 대괄호 위치

image.png

  1. 대괄호 안에 바꾸고자 하는 element의 index를 지정

image.png

  1. Assignment를 의미하는 '='부호가 위치

image.png

  1. '='부호 다음에 새로운 값을 지정

image.png

image.png

Empty 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]

Assignment

주어진 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
profile
dev_pang의 pang.log

0개의 댓글