본문 바로가기
프로그래밍/파이썬 Python

[파이썬 문법] 4-1. 리스트 자료형 총정리2부 - 질문으로 공부하기

by it-수다쟁이증후군 2023. 4. 4.

오늘.ssam)
지난 포스트에서 4-1. 리스트 자료형 총정리1부 에 이어 리스트 자료형 총정리2부를 시작하겟습니다.

(for문과 리스트 / while문과 리스트 / 함수인자와 리스트 / 함수반환값과 리스트 / 주의사항)

"4-1리스트자료형 총정리 2부"문장을 타이포그라피로 만든 썸네일

Q6.나)
for문 에서 리스트를 사용하는 방법을 알려주세요.

A6.ssam)
for문에서 리스트(List)를 사용하는 방법으로는 다음과 같은 것들이 있습니다.

1)리스트 순회하기

my_list = [1, 2, 3, 4, 5]
for item in my_list:
    print(item)

위 코드에서는 for문을 이용하여 my_list 리스트의 항목을 하나씩 순회하면서, 각 항목을 출력합니다.

2)리스트의 인덱스와 함께 순회하기

my_list = [1, 2, 3, 4, 5]
for index, item in enumerate(my_list):
    print(f'Index {index}: {item}')

위 코드에서는 for문과 enumerate 함수를 이용하여 my_list 리스트의 항목을 하나씩 순회하면서, 각 항목의 인덱스와 함께 출력합니다.

3)리스트의 일부 항목만 순회하기

my_list = [1, 2, 3, 4, 5]
for item in my_list[1:4]:
    print(item)

위 코드에서는 for문과 리스트 슬라이싱을 이용하여 my_list 리스트의 1번 인덱스부터 3번 인덱스까지의 항목을 하나씩 순회하면서, 각 항목을 출력합니다.

위에 3가지 방법은 for문에 리스트를 전달하는 방법에 관해서 정리 한것입니다. 이제 전달 받은 리스트를 for문의 실행코드블럭에서 각자의 방법대로 프로그래밍 할수 있습니다.

Q7.나)
while문 에서 리스트를 사용하는 방법을 알려주세요.

A7.ssam)
솔직히 말해서 while문과 for문은 거의 동일 합니다. 그래서 넘어갈까 하다 막상 쓸려고 하면 헷갈립니다. 특히 초보들은 말이죠. 알면 쉽고,머리 쓰긴 귀찮고, 이런 것이 있다 정도만 확인하면 됩니다.

1)리스트 순회하기

my_list = [1, 2, 3, 4, 5]
i = 0
while i < len(my_list):
    print(my_list[i])
    i += 1

위 코드에서는 while문을 이용하여 my_list 리스트의 항목을 하나씩 순회하면서, 각 항목을 출력합니다. 이때 while문의 조건식으로 i < len(my_list)를 이용하여, 리스트의 인덱스가 리스트 길이를 초과하지 않도록 합니다.

2)리스트의 일부 항목만 순회하기

my_list = [1, 2, 3, 4, 5]
i = 1
while i < 4:
    print(my_list[i])
    i += 1

위 코드에서는 while문을 이용하여 my_list 리스트의 1번 인덱스부터 3번 인덱스까지의 항목을 하나씩 순회하면서, 각 항목을 출력합니다. 이때 while문의 조건식으로 i < 4를 이용하여, 리스트의 인덱스가 3을 초과하지 않도록 합니다.

Q8.나)
함수의 인자로 리스트를 사용하는 방법에 대해서 알려주세요.

A8.ssam)
파이썬에서 함수의 인자로 리스트(List)를 사용하는 방법은 다음과 같습니다.

1)리스트를 인자로 받는 함수 정의하기

def print_list(my_list):
    for item in my_list:
        print(item)

위 코드에서는 print_list()라는 함수를 정의하고 있습니다. 이 함수는 my_list라는 리스트를 인자로 받아서, 리스트의 항목을 하나씩 출력합니다.

2)리스트를 함수에 전달하기

my_list = [1, 2, 3, 4, 5]
    print_list(my_list)

위 코드에서는 my_list라는 리스트를 정의하고 있으며, 이 리스트를 print_list() 함수에 전달하여 함수를 실행하고 있습니다. 이때 print_list() 함수는 전달받은 리스트를 이용하여 리스트의 항목을 출력합니다.

3)리스트를 인자로 받는 함수에서 리스트를 수정하기

def modify_list(my_list):
    for i in range(len(my_list)):
        my_list[i] *= 2
    return my_list

위 코드에서는 modify_list()라는 함수를 정의하고 있습니다. 이 함수는 my_list라는 리스트를 인자로 받아서, 리스트의 항목을 모두 두배로 수정한 후 수정된 리스트를 반환합니다.

4)수정된 리스트를 받아서 출력하기

my_list = [1, 2, 3, 4, 5]
new_list = modify_list(my_list)
print(new_list)

위 코드에서는 my_list라는 리스트를 정의하고 있으며, 이 리스트를 modify_list() 함수에 전달하여 함수를 실행하고 있습니다. 이때 modify_list() 함수는 전달받은 리스트를 이용하여 리스트의 항목을 수정한 후 수정된 리스트를 반환합니다. 이 반환된 리스트를 new_list 변수에 저장한 후, 이 리스트를 출력하고 있습니다.

리스트를 함수의 인자로 전달하면, 함수 내에서 전달받은 리스트를 이용하여 다양한 작업을 수행할 수 있습니다. 또한 함수 내에서 리스트를 수정하면, 수정된 리스트를 반환하여 다른 변수에 저장하거나 출력할 수 있습니다.

Q9.나)
함수의 반환값으로 리스트를 사용하는 방법에 대해서 알려주세요.

A9.ssam)
파이썬에서 함수의 반환값으로 리스트(List)를 사용하는 방법은 다음과 같습니다.

1)리스트를 반환하는 함수 정의하기

def create_list(n):
    my_list = []
    for i in range(n):
        my_list.append(i)
    return my_list

위 코드에서는 create_list()라는 함수를 정의하고 있습니다. 이 함수는 n이라는 정수를 인자로 받아서, 0부터 n-1까지의 값을 가지는 리스트를 생성한 후, 이 리스트를 반환합니다.

2)함수의 반환값으로 리스트 받기

my_list = create_list(5)
print(my_list)

위 코드에서는 create_list() 함수에 5라는 인자를 전달하여, 함수를 실행하고 있습니다. 이때 create_list() 함수는 전달받은 인자를 이용하여 리스트를 생성한 후, 이 리스트를 반환합니다. 이 반환된 리스트를 my_list 변수에 저장한 후, 이 리스트를 출력하고 있습니다.

함수의 반환값으로 리스트를 사용하면, 함수에서 생성한 리스트를 함수 외부에서 이용할 수 있습니다. 이를 통해 함수가 생성한 리스트를 다른 변수에 저장하거나, 함수의 반환값으로 받은 리스트를 이용하여 다양한 작업을 수행할 수 있습니다.

Q10.나)
리스트 사용에 대해서 주의 해야 할 점 있나요?

A10.ssam)
리스트 사용에 대해서 주의해야 할 점은 다음과 같습니다.

  1. 리스트의 인덱스는 0부터 시작한다: 리스트의 첫 번째 요소의 인덱스는 0이며, 이후로 1, 2, 3, ... 순서로 증가한다.
  2. 인덱스 범위를 벗어나는 요소에 접근하지 않는다: 인덱스는 리스트의 길이보다 작은 값을 가져야 한다. 리스트의 길이는 len() 함수로 확인할 수 있다.
  3. 리스트는 변경 가능한(mutable) 객체이다: 리스트의 요소를 변경할 수 있으므로, 의도하지 않은 변경이 일어날 수 있다. 따라서 리스트를 복사할 때는 복사본을 만들어 사용하는 것이 안전하다.
  4. 리스트에 서로 다른 자료형의 요소를 함께 저장할 수 있다: 리스트는 서로 다른 자료형의 요소를 함께 저장할 수 있다. 따라서 리스트를 사용할 때는 요소의 자료형에 주의해야 한다.
  5. 리스트를 순회(iterate)할 때는 for 문과 함께 사용한다: 리스트의 요소를 순회할 때는 for 문과 함께 사용하는 것이 일반적이다. 이때, 인덱스와 함께 요소의 값을 가져올 수 있는 enumerate() 함수도 자주 사용된다.

댓글