Introducing Lists / 리스트 소개

3.1 Lists / 리스트

  • A list is a collection of items in a particular order.
    리스트는 특정 순서로 정렬된 항목들의 모음이다.
  • You can put anything you want into a list.
    리스트에는 원하는 것을 무엇이든 넣을 수 있다.
  • Lists are created with square brackets.
    리스트는 대괄호로 생성한다.
# 3.1_lists.py
bicycles = ['trek', 'cannondale', 'redline', 'specialized']
print(bicycles) # ['trek', 'cannondale', 'redline', 'specialized']

Accessing List Elements / 리스트 요소에 접근

  • To access an element in a list, you can use its index.
    리스트의 요소에 접근하려면 인덱스를 사용할 수 있다.
  • Python indexes start at 0, not 1.
    파이썬 인덱스는 1이 아닌 0부터 시작한다.
# 3.2_list_indexes.py
bicycles = ['trek', 'cannondale', 'redline', 'specialized']
print(bicycles[0]) # trek
print(bicycles[1]) # cannondale
print(bicycles[2]) # redline
print(bicycles[3]) # specialized
  • You can use negative numbers to access elements from the end of the list.
    음수를 사용하여 리스트의 끝에서 요소에 접근할 수 있다.
# 3.2_list_indexes.py
bicycles = ['trek', 'cannondale', 'redline', 'specialized']
print(bicycles[-1]) # specialized
print(bicycles[-2]) # redline
print(bicycles[-3]) # cannondale
print(bicycles[-4]) # trek
  • You can use f-strings to print a message using a value from a list.
    f-strings를 사용하여 리스트의 값을 사용하여 메시지를 출력할 수 있다.
# 3.2_list_indexes.py
bicycles = ['trek', 'cannondale', 'redline', 'specialized']
message = f"My first bicycle was a {bicycles[0].title()}."
print(message) # My first bicycle was a Trek.

Changing List Elements / 리스트 요소 변경

  • You can change an element in a list by assigning a new value to it.
    새 값을 할당하여 리스트의 요소를 변경할 수 있다.
# 3.3_changing_lists.py
bicycles = ['trek', 'cannondale', 'redline', 'specialized']
print(bicycles) # ['trek', 'cannondale', 'redline', 'specialized']

bicycles[0] = 'giant'
print(bicycles) # ['giant', 'cannondale', 'redline', 'specialized']

Adding List Elements / 리스트 요소 추가

  • You can add elements to the end of a list using the append() method.
    append() 메소드를 사용하여 리스트의 끝에 요소를 추가할 수 있다.
# 3.3_changing_lists.py
bicycles = ['trek', 'cannondale', 'redline', 'specialized']
print(bicycles) # ['trek', 'cannondale', 'redline', 'specialized']

bicycles.append('giant')
print(bicycles) # ['trek', 'cannondale', 'redline', 'specialized', 'giant']
  • You can insert elements into a list using the insert() method.
    insert() 메소드를 사용하여 리스트에 요소를 삽입할 수 있다.
# 3.3_changing_lists.py
bicycles = ['trek', 'cannondale', 'redline', 'specialized']
print(bicycles) # ['trek', 'cannondale', 'redline', 'specialized']

bicycles.insert(0, 'giant')
print(bicycles) # ['giant', 'trek', 'cannondale', 'redline', 'specialized']

Removing List Elements / 리스트 요소 제거

  • You can remove elements from a list using the del statement.
    del 문을 사용하여 리스트에서 요소를 제거할 수 있다.
# 3.4_removing_list_elements.py
bicycles = ['trek', 'cannondale', 'redline', 'specialized']
print(bicycles) # ['trek', 'cannondale', 'redline', 'specialized']

del bicycles[0]
print(bicycles) # ['cannondale', 'redline', 'specialized']
  • You can remove elements from a list using the pop() method.
    pop() 메소드를 사용하여 리스트에서 요소를 제거할 수 있다.
  • The pop() method returns the element that was removed.
    pop() 메소드는 제거된 요소를 반환한다.
# 3.4_removing_list_elements.py
bicycles = ['trek', 'cannondale', 'redline', 'specialized']
print(bicycles) # ['trek', 'cannondale', 'redline', 'specialized']

popped_bicycle = bicycles.pop()
print(bicycles) # ['trek', 'cannondale', 'redline']
print(popped_bicycle) # specialized
  • You can pop elements from any position in a list by passing an index to the pop() method.
    pop() 메소드에 인덱스를 전달하여 리스트의 모든 위치에서 요소를 팝할 수 있다.
# 3.4_removing_list_elements.py
bicycles = ['trek', 'cannondale', 'redline', 'specialized']
print(bicycles) # ['trek', 'cannondale', 'redline', 'specialized']

popped_bicycle = bicycles.pop(1)
print(bicycles) # ['trek', 'redline', 'specialized']
print(popped_bicycle) # cannondale
  • You can remove an element from a list by value using the remove() method.
    remove() 메소드를 사용하여 값을 기준으로 리스트에서 요소를 제거할 수 있다.
  • The remove() method only removes the first occurrence of the value.
    remove() 메소드는 값의 첫 번째 발생만 제거한다.
# 3.4_removing_list_elements.py
bicycles = ['trek', 'cannondale', 'redline', 'specialized']
print(bicycles) # ['trek', 'cannondale', 'redline', 'specialized']

bicycles.remove('cannondale')
print(bicycles) # ['trek', 'redline', 'specialized']

Organizing Lists / 리스트 정리

  • You can sort a list using the sort() method.
    sort() 메소드를 사용하여 리스트를 정렬할 수 있다.
  • You can sort a list in reverse order by passing the reverse=True argument to the sort() method.
    sort() 메소드에 reverse=True 인수를 전달하여 리스트를 역순으로 정렬할 수 있다.
# 3.5_organizing_lists.py
cars = ['bmw', 'audi', 'toyota', 'subaru']
print(cars) # ['bmw', 'audi', 'toyota', 'subaru']

cars.sort()
print(cars) # ['audi', 'bmw', 'subaru', 'toyota']

cars.sort(reverse=True)
print(cars) # ['toyota', 'subaru', 'bmw', 'audi']

Sorting a List Temporarily / 일시적으로 리스트 정렬

  • You can sort a list temporarily using the sorted() function.
    sorted() 함수를 사용하여 리스트를 일시적으로 정렬할 수 있다.
  • You can sort a list in reverse order temporarily by passing the reverse=True argument to the sorted() function.
    sorted() 함수에 reverse=True 인수를 전달하여 리스트를 일시적으로 역순으로 정렬할 수 있다.
# 3.5_organizing_lists.py
cars = ['bmw', 'audi', 'toyota', 'subaru']
print(cars) # ['bmw', 'audi', 'toyota', 'subaru']

print(sorted(cars)) # ['audi', 'bmw', 'subaru', 'toyota']
print(sorted(cars, reverse=True)) # ['toyota', 'subaru', 'bmw', 'audi']

print(cars) # ['bmw', 'audi', 'toyota', 'subaru']

Reversing a List / 리스트 반전

  • You can reverse the order of a list using the reverse() method.
    reverse() 메소드를 사용하여 리스트의 순서를 반대로 할 수 있다.
# 3.5_organizing_lists.py
cars = ['bmw', 'audi', 'toyota', 'subaru']
print(cars) # ['bmw', 'audi', 'toyota', 'subaru']

cars.reverse()
print(cars) # ['subaru', 'toyota', 'audi', 'bmw']
  • You can find the length of a list using the len() function.
    len() 함수를 사용하여 리스트의 길이를 찾을 수 있다.
# 3.5_organizing_lists.py
cars = ['bmw', 'audi', 'toyota', 'subaru']
print(len(cars)) # 4