Excel & IT Info

아이엑셀러 닷컴, 엑셀러TV

Python

모든 Python 프로그래머가 알아야 할 7가지 목록 관련 함수

권현욱(엑셀러) 2023. 11. 9. 14:00
반응형

목록(List)은 파이썬(Python)의 데이터 구조와 알고리즘을 구성하는 데 필수적입니다. Python에는 일반적인 리스트 작업을 위해 몇 가지 내장 함수를 제공합니다. 이들 함수를 통해 개발자는 더 빠르고 쉽게 원하는 작업을 할 수 있습니다.

권현욱(엑셀러) | 아이엑셀러 닷컴 대표 · Microsoft Excel MVP · Excel 솔루션 프로바이더 · 작가

※ 이 글은 아래 기사 내용을 토대로 작성되었습니다만, 제 개인 의견이나 추가 자료들이 다수 포함되어 있습니다. 원문 내용이 궁금하신 분은 URL을 살펴보세요.


  • 원문: 7 List Functions Every Python Programmer Should Know
  • URL: https://www.makeuseof.com/python-list-functions-essential/

1. LEN 함수

목록 내의 항목 수를 가져오며, 아래와 같은 형태로 사용합니다.

my_list = [1, 2, 3, "hello", "rice", "code", 1.2]
list_length = len(my_list)
print(list_length) # returns 7

LEN 함수를 모르더라도 가능은 하지만(예. for 루프 사용) 먼 길을 돌아가야 합니다.

my_list = [1, 2, 3, "hello", "rice", "code", 1.2]
count = 0

for i in my_list:
    count += 1

print(count)

2. APPEND 함수

APPEND는 목록 끝에 새 항목을 추가해 주는 함수입니다. 간단한 예는 다음과 같습니다.

my_list = [1, 2, 3, "hello", "rice", "code", 1.2]
question = input("Do you love Python?: ").lower()

if question == "yes":
    my_list.append("Python is the best!!") # use of the append() function
else:
    my_list.append("You should try Python") # use of the append() function

print(my_list)

위 예에서는 if 문을 사용하여 사용자 입력에 따라 처음 목록 뒤에 지정한 문장을 추가합니다("Python is the best!!" 또는 "You should try Python" 중 하나).

APPEND 함수는 목록에 한 번에 하나의 항목만 추가할 수 있습니다. APPEND 함수 대신 연산자를 사용할 수 있습니다.

my_list = [1, 2, 3, "hello", "rice", "code", 1.2]
my_list += ["Python is the best!!"]

더하기 연산자를 사용하면 초기 목록이 수정되지 않으므로 효율성이 떨어집니다. 대신 메모리에 새 목록을 만들고 여기에 새 항목을 추가합니다. APPEND 함수는 초기 목록을 직접 수정합니다.

3. EXTENSION 함수

EXTENSION 함수는 기존 목록에 여러 항목을 한 번에 추가하는 함수입니다. 사용하는 방법은 다음과 같습니다.

my_list = [1, 2, 3, "hello", "rice", "code", 1.2]

my_list.extend(["item", "muo", 350])

print(my_list)
# prints [1, 2, 3, 'hello', 'rice', 'code', 1.2, 'item', 'muo', 350]

EXTENSION 함수는  하나의 인수만 사용할 수 있으므로 위 코드와 같이 모든 항목을 목록에 추가해야 합니다.  

4. REVERSE 함수

REVERSE 함수는 목록을 역순으로 다시 작성합니다. 다음은 REVERSE 함수의 예입니다.

my_list = [1, 2, 3, "hello", "rice", "code"]

my_list.reverse()
print(my_list) # prints ['code', 'rice', 'hello', 3, 2, 1]

REVERSE 함수를 사용하지 않고 목록을 반전하려면 목록을 분할하여 다음과 같은 방식으로 합니다.

my_list = [1, 2, 3, "hello", "rice", "code"]

reversed_list = my_list[::-1]
print(reversed_list)

위의 예에서 my_list[::-1]은 원본 목록의 역방향 복사본을 만듭니다. 즉, 메모리에 두 개의 목록이 있다는 의미이며, 단순히 원래 목록을 뒤집으려는 경우에는 최선의 방법이 아닙니다.

5. INSERT 함수

INSERT는 ADD 함수처럼 목록을 수정하고 목록에 항목을 추가합니다. 그러나 INSERT 함수를 사용하면 목록에서 새 항목의 색인(위치)을 지정할 수 있습니다.

my_list = [1, 2, 3, "hello", "rice", "code"]

my_list.insert(0, "first") # add "first" to the beginning of your list
print(my_list) # prints ['first', 1, 2, 3, 'hello', 'rice', 'code']

위 코드에서 INSERT  함수를 사용하는 올바른 구문은 다음과 같습니다.

your_list.insert(index, new_list_item)

6. SORT 함수

SORT 함수는 특정 데이터 유형의 목록을 가져와 요소를 오름차순으로 재정렬합니다.

my_list = [1, 2, 10, 30, 3, 2.4]
my_list2 = ['code', 'rice', 'zion', 'hello']

my_list.sort()
my_list2.sort()

print(my_list) # prints [1, 2, 2.4, 3, 10, 30]
print(my_list2) # prints ['code', 'hello', 'rice', 'zion']

 

[주의] 문자열, 숫자 등 다양한 데이터 유형이 포함된 목록에서 SORT 함수를 사용하면 TypeError가 발생합니다.

7. COUNT 함수

COUNT 함수는 목록에서 특정 요소가 나타나는 횟수를 계산하고 그 값을 반환합니다.

my_list = ['code', 10, 30, 'code', 3, 'code', 'rice', 5]
print(my_list.count('code')) # prints 3

COUNT 함수 없이 이러한 작업을 수행하려면 아래와 같이 더 많은 코드를 작성해야 합니다.

my_list = ['code', 10, 30, 'code', 3, 'code', 'rice', 5]
count_code = 0

for item in my_list:
    if item == 'code':
        count_code += 1

print(count_code) # prints 3

LEN 함수는 목록에 있는 요소의 총개수를 반환하고, COUNT 함수는 목록에 특정 요소가 나타나는 횟수를 반환한다는 점에서 차이가 있습니다.