TIL14 | Python List와 Tuple

2021. 10. 11. 10:41언어/Python

반응형

List

  • list 통해 여러 개의 데이터를 한 곳에 담기 위한 자료구조
  • 여러 값들을 순차적으로 저장할 수 있다
  • list에 저장되어 있는 값은 element라고 한다

list

  • list는 모든 type의 값을 저장할 수 있으며 서로 다른 type의 값들을 저장하는 것도 가능하다

    random_value = [ 1, 'two', True]
  • list의 값들에는 순서(Ordering)가 존재하며 이를 index라고 한다

list2

List 데이터 접근

index를 사용해서 list의 데이터에 접근할 수 있다.

str = ['a', 'b', 'c']

print(str[0]) # a
print(str[1]) # b 
print(str[2]) # c

List 요소 수정

list는 각각의 index에 담긴 데이터를 수정할 수 있다.

str = ['a', 'b', 'Z']

print(str[2]) # Z
str[2] = 'c'
print(str[2]) # c

List 요소 추가

1) append()

append() 메소드를 사용하여 새로운 값을 추가할 수 있다.
append() 메소드는 리스트의 가장 끝에 새로운 값을 추가한다.

str = ['a', 'b', 'c']

str.append('d')

print(str) # ['a', 'b', 'c', 'd']

2) insert()

insert() 메소드는 원하는 위치에 element를 삽입할 수 있다.
insert문법은 append와 비슷하며, 차이점은insert는 추가하고자 하는 element외에 element를 삽입할index(위치)도 지정해줘야 한다.

insert(index, element)

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

print(cities) # [ "서울특별시", "제주특별자치도 제주시", "부산광역시", "인천광역시", "대구광역시", "대전광역시" ]

List 요소 삭제

1) pop()

pop() 메소드를 사용하여 list의 가장 마지막 데이터를 삭제할 수 있다.
pop() 메소드는 원본 데이터를 삭제하며, 반환값은 삭제되는 데이터를 반환한다.

str = ['a', 'b', 'c', 'd']

remove_one = str.pop()

print(remove_one) # d
print(str) # ['a', 'b', 'c']

2) del

del 키워드와 index를 사용해서 원하는 요소를 list에서 삭제할 수 있다.

참고로 요소가 리스트에서 삭제되면 파이썬이 자동으로 리스트의 인덱스들을 다시 정렬해준다.

twice = [ "나연",  "사나",  "정연",  "모모",  "미나", "채영",  "다현", "쯔위",  "지효"]

del twice[3]
print(twice)
> ['나연', '사나', '정연', '미나', '채영', '다현', '쯔위', '지효']

del

3) remove()

인덱스를 사용하기 불편할 때 다음과 같이 remove()를 사용할 수 있다.

twice.remove('모모')

 

Tuple

  • Tuplelist와 비슷하게 요소들을 저장할 때 쓰인다.
  • list는 수정이 가능하지만 tuple은 한번 선언되면 수정이 불가능하다.
my_tuple = (1, 2, 3)
  • tuple이 사용될 때
    • 일반적으로 2개에서 5개 사이의 요소들을 저장할 때
    • 특정 데이터를 ad hoc(즉석적으로) 하게 표현하고 싶을 때

 

List 와 Tuple의 차이

  • list는 요소 수정 가능(mutable), tuple은 한번 선언되면 수정이 불가능(immutable)
  • tuple은 주로 적은 양의 데이터를 저장하며, 좌표와 같은 특정데이터를 표현할 때 주로 사용한다.

공통정

  • iterable
반응형