반응형

목록

  1. 목록 선언 및 요소 액세스
  2. index를 사용하여 요소에 접근하기
  3. list를 사용해 요소 수정하기
  4. 리스트 내에 특정값 유무 확인

Python에서 list는 여러 값을 저장할 수 있는 순서가 지정된 모음입니다. 목록은 대괄호([])를 사용하여 생성되며 각 요소는 쉼표(,)로 구분됩니다. 목록은 다양한 데이터 유형을 저장할 수 있으며 중첩 목록도 지원할 수 있습니다. 이 때 요소란 대괄호 안에 있는 자료를 뜻합니다. 예를 들면 다음과 같습니다.

 

[요소,요소,요소...]


목록 선언 및 요소 액세스

 

1. 목록 만들기

 

my_list = [1, 2, 3, 4, 5]


2. 목록의 요소에 액세스


목록의 요소에 액세스하려면 인덱싱을 사용할 수 있습니다. Python에서 인덱싱은 0부터 시작합니다. 따라서 첫 번째 요소에 액세스하려면 my_list[0]을 사용합니다. 두 번째 요소에는 my_list[1] 등을 사용합니다.

 

first_element = my_list[0]
second_element = my_list[1]


3. 네거티브 인덱싱


또한 음수 인덱싱을 사용하여 목록의 끝에서 요소에 액세스할 수 있습니다. 예를 들어 my_list[-1]은 마지막 요소를 제공하고 my_list[-2]는 마지막에서 두 번째 요소를 제공합니다.

 

last_element = my_list[-1]
second_to_last_element = my_list[-2]


4. 슬라이싱


슬라이싱을 사용하여 목록의 요소 범위에 액세스할 수 있습니다. 목록을 조각화하려면 시작 및 끝 인덱스를 콜론(:)으로 구분하여 지정해야 합니다.

 

# 인덱스 1부터 3까지의 요소를 가져옵니다 (끝 인덱스는 제외됨).
sub_list = my_list[1:4]


5. 중첩 목록 액세스


중첩 목록이 있는 경우 여러 대괄호를 사용하여 해당 요소에 액세스할 수 있습니다.

 

nested_list = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
first_row = nested_list[0]
second_element_in_first_row = nested_list[0][1]


index를 사용하여 요소에 접근하기

파이썬에서 리스트의 요소들은 인덱스를 사용하여 접근할 수 있습니다. 리스트 인덱스는 0부터 시작하며 첫 번째 요소는 인덱스 0, 두 번째 요소는 인덱스 1, 이런 식으로 이어집니다. 음수 인덱스를 사용하여 리스트의 끝에서부터 요소에 접근할 수도 있습니다.

리스트에서 요소에 접근하는 방법은 다음과 같습니다.

1. 단일 요소에 접근하기

 

my_list = [10, 20, 30, 40]
first_element = my_list[0]  # 10
last_element = my_list[-1]  # 40


2. 요소 범위에 접근하기 (슬라이싱)

 

my_list = [10, 20, 30, 40, 50]
first_three_elements = my_list[0:3]  # [10, 20, 30]
last_two_elements = my_list[-2:]    # [40, 50]


3. 요소 간격을 지정하여 접근하기 (간격을 가진 슬라이싱)

 

my_list = [10, 20, 30, 40, 50]
even_indices_elements = my_list[0::2]  # [10, 30, 50]

 

4. 반복문을 사용하여 요소에 접근하기

 

my_list = [10, 20, 30, 40]

# 1. for 문 사용
for item in my_list:
    print(item)

# 2. enumerate() 함수와 for 문을 사용하여 인덱스와 요소에 접근하기
for index, item in enumerate(my_list):
    print(f"Element at index {index} is {item}")

# 3. while 문을 사용하여 요소에 접근하기
index = 0
while index < len(my_list):
    print(my_list[index])
    index += 1


list를 사용해 요소 수정하기

파이썬에서는 리스트에 요소를 추가하고 삭제하거나 정렬하는 등의 다양한 작업을 수행할 수 있는 리스트 메소드를 사용할 수 있습니다. 다음은 예시입니다.

1. 요소 추가하기

# 1. append(): 리스트의 끝에 요소를 추가합니다.

  my_list = [10, 20, 30]
  my_list.append(40)
  print(my_list)  # 출력: [10, 20, 30, 40]

# 2. insert(): 리스트의 특정 인덱스에 요소를 삽입합니다.

  my_list = [10, 20, 30]
  my_list.insert(1, 15)
  print(my_list)  # 출력: [10, 15, 20, 30, 40]

# 3. extend(): 다른 이터러블(예: 다른 리스트)에서 요소를 가져와 리스트 끝에 추가합니다.

  my_list = [10, 20, 30]
  another_list = [40, 50]
  my_list.extend(another_list)
  print(my_list)  # 출력: [10, 15, 20, 30, 40, 45, 50]


2. 요소 삭제하기

# 1. remove(): 리스트에서 지정된 요소의 첫 번째 발생을 제거합니다.

  my_list = [10, 20, 30, 20]
  my_list.remove(20)
  print(my_list)  # 출력: [10, 30, 20]

# 2. pop(): 지정된 인덱스에 있는 요소를 제거하거나 인덱스가 제공되지 않으면 마지막 요소를 제거합니다.

  my_list = [10, 20, 30, 40]
  my_list.pop()       # 마지막 요소 제거
  my_list.pop(1)      # 인덱스 1에 있는 요소 제거
  print(my_list)  # 출력: [10, 30]

# 3. clear(): 리스트에서 모든 요소를 제거합니다.

  my_list = [10, 20, 30]
  my_list.clear()
  print(my_list)  # 출력: []

 

2-1. DEL 키워드

파이썬에서 `del` 키워드는 리스트에서 항목을 제거하거나 전체 리스트를 삭제하는 데 사용됩니다. 이는 리스트 메소드가 아닌 일반적인 키워드이며 다른 데이터 구조에서도 사용할 수 있습니다. 리스트에서 `del` 키워드를 사용하는 방법은 다음과 같습니다.

 

# 1. 단일 항목 제거
# 특정 인덱스의 항목을 제거하려면 `del` 키워드 뒤에 리스트와 제거하려는 요소의 인덱스를 지정합니다.

my_list = [10, 20, 30, 40]
del my_list[1]  # 인덱스 1(20)의 요소를 제거합니다.
print(my_list)  # 출력: [10, 30, 40]

# 2. 항목 범위 제거
# 슬라이스를 지정하여 항목 범위를 제거할 수 있습니다.

my_list = [10, 20, 30, 40, 50, 60]
del my_list[1:4]  # 인덱스 1(포함)에서 4(제외)까지의 요소를 제거합니다.
print(my_list)  # 출력: [10, 50, 60]


# 3. 모든 항목 제거
# 콜론을 사용하여 전체 리스트를 지정하면 모든 항목을 제거할 수 있습니다. (이는 `clear()` 메소드와 다릅니다. `clear()` 메소드는 리스트를 유지하고 비웁니다.)

my_list = [10, 20, 30, 40]
del my_list[:]
print(my_list)  # 출력: []

# 4. 전체 리스트 삭제
# `del` 키워드를 사용하여 전체 리스트 객체를 삭제할 수 있습니다. 이렇게 하면 리스트 객체가 더 이상 존재하지 않으며 액세스하려고하면 오류가 발생합니다.

my_list = [10, 20, 30, 40]
del my_list
print(my_list)  # 이는 NameError를 발생시킵니다: name 'my_list' is not defined

`del` 키워드를 사용하면 리스트에서 항목이 제거되어 리스트의 크기가 변경됩니다. 이로 인해 실수로 인덱스 오류가 발생할 수 있으므로 주의해야 합니다.


3. 요소 정렬하기

 

# 1. sort()
# 리스트의 요소를 오름차순으로(기본값) 정렬하거나 `reverse=True`를 지정하면 내림차순으로 정렬합니다.

  my_list = [30, 10, 40, 20]
  my_list.sort()  # 요소를 오름차순으로 정렬합니다.
  print(my_list)  # 출력: [10, 20, 30, 40]

  my_list.sort(reverse=True)  # 요소를 내림차순으로 정렬합니다.
  print(my_list)  # 출력: [40, 30, 20, 10]

# 2. reverse()
# 메소드는 리스트에 있는 요소들의 순서를 뒤집습니다. `reverse()` 메소드를 사용하여 리스트의 순서를 뒤집는 예시 코드입니다.

my_list = [10, 20, 30, 40]
my_list.reverse()
print(my_list)  # 출력: [40, 30, 20, 10]


위 코드는 리스트 `my_list`에 있는 요소들의 순서를 뒤집고, 뒤집어진 리스트를 출력합니다. 따라서 출력 결과는 `[40, 30, 20, 10]`가 됩니다.


리스트 내에 특정값 유무 확인

파이썬에서 `in`과 `not in` 연산자는 리스트에 특정 값을 포함하는지 여부를 확인하는 데 사용됩니다. 이러한 연산자는 값을 찾으면 `True`를 반환하고 그렇지 않으면 `False`를 반환합니다.

다음은 `in`과 `not in` 연산자를 리스트와 함께 사용하는 방법입니다.

1. `in` 연산자 사용하기:

`in` 연산자는 주어진 값이 리스트에 있는지 여부를 확인합니다. 값이 발견되면 `True`를 반환하고 그렇지 않으면 `False`를 반환합니다.

my_list = [1, 2, 3, 4, 5]

# 리스트에 값이 있는지 확인
if 3 in my_list:
    print("3 is in the list")  # Output: 3 is in the list

if 6 in my_list:
    print("6 is in the list")
else:
    print("6 is not in the list")  # Output: 6 is not in the list

 

2. `not in` 연산자 사용하기:

`not in` 연산자는 주어진 값이 리스트에 없는지 여부를 확인합니다. 값이 발견되지 않으면 `True`를 반환하고 그렇지 않으면 `False`를 반환합니다.

my_list = [1, 2, 3, 4, 5]

# 리스트에 값이 없는지 확인
if 3 not in my_list:
    print("3 is not in the list")
else:
    print("3 is in the list")  # Output: 3 is in the list

if 6 not in my_list:
    print("6 is not in the list")  # Output: 6 is not in the list
else:
    print("6 is in the list")


`in`과 `not in` 연산자는 전체 리스트를 순환하지 않아도 특정 값의 존재 여부를 쉽게 확인할 수 있어 리스트와 다른 이터러블 데이터 구조를 다룰 때 매우 유용합니다.

반응형