Python 에서 리스트에 숫자가 포함되어 있는지 확인하는 방법

PythonBeginner
지금 연습하기

소개

이 랩에서는 Python 에서 리스트에 숫자가 포함되어 있는지 확인하는 방법을 배우고, 혼합형 리스트를 처리하는 데 중점을 둡니다. 먼저 정수, 문자열, 부울과 같은 서로 다른 데이터 유형의 요소를 포함하는 혼합형 리스트를 탐구합니다.

mixed_list.py 파일을 생성하고, 혼합형 리스트로 채운 다음, 인덱싱을 사용하여 해당 요소에 접근하고 수정하는 연습을 할 것입니다. 이 실습 경험은 any()isinstance()와 같은 기술을 사용하여 이러한 리스트 내에서 숫자 요소를 식별하기 위한 기반을 제공하며, 이는 후속 단계에서 다룹니다.

혼합형 리스트 탐색

이 단계에서는 Python 에서 혼합형 리스트에 대해 배우게 됩니다. 혼합형 리스트는 정수, 문자열, 부울과 같은 서로 다른 데이터 유형의 요소를 포함하는 리스트입니다. Python 프로그램에서 다양한 데이터를 처리하려면 혼합형 리스트를 사용하는 방법을 이해하는 것이 필수적입니다.

먼저, 혼합형 리스트를 만들어 보겠습니다. LabEx 환경에서 VS Code 편집기를 열고 ~/project 디렉토리에 mixed_list.py라는 새 파일을 만듭니다.

## Create a mixed-type list
my_list = [1, "hello", 3.14, True]

## Print the list
print(my_list)

파일을 저장합니다. 이제 터미널에서 python 명령을 사용하여 스크립트를 실행합니다.

python ~/project/mixed_list.py

다음과 같은 출력이 표시됩니다.

[1, 'hello', 3.14, True]

보시다시피, 리스트 my_list는 정수, 문자열, float 및 부울 값을 포함합니다.

다음으로, 인덱싱을 사용하여 혼합형 리스트의 요소에 접근해 보겠습니다.

## Access elements of the list
first_element = my_list[0]
second_element = my_list[1]
third_element = my_list[2]
fourth_element = my_list[3]

## Print the elements
print("First element:", first_element)
print("Second element:", second_element)
print("Third element:", third_element)
print("Fourth element:", fourth_element)

이러한 줄을 mixed_list.py 파일에 추가하고 저장합니다. 그런 다음, 스크립트를 다시 실행합니다.

python ~/project/mixed_list.py

출력은 다음과 같아야 합니다.

[1, 'hello', 3.14, True]
First element: 1
Second element: hello
Third element: 3.14
Fourth element: True

혼합형 리스트의 요소를 수정할 수도 있습니다.

## Modify an element
my_list[0] = "new value"

## Print the modified list
print(my_list)

이러한 줄을 mixed_list.py 파일에 추가하고 저장합니다. 스크립트를 한 번 더 실행합니다.

python ~/project/mixed_list.py

이제 출력은 다음과 같아야 합니다.

['new value', 'hello', 3.14, True]

이 예제에서는 리스트의 첫 번째 요소를 정수에서 문자열로 변경했습니다.

혼합형 리스트는 유연하며 다양한 상황에서 유용할 수 있습니다. 그러나 예기치 않은 오류를 방지하려면 혼합형 리스트의 요소에 대한 작업을 수행할 때 데이터 유형에 유의하는 것이 중요합니다.

any() 와 isinstance() 사용

이 단계에서는 any() 함수를 isinstance() 함수와 함께 사용하여 리스트에 특정 유형의 요소가 하나 이상 포함되어 있는지 확인하는 방법을 배우게 됩니다. 이는 혼합형 리스트로 작업할 때 특히 유용합니다.

any() 함수는 반복 가능한 객체 (예: 리스트) 의 요소 중 하나라도 참이면 True를 반환합니다. 그렇지 않으면 False를 반환합니다. isinstance() 함수는 객체가 지정된 클래스 또는 유형의 인스턴스인지 확인합니다.

이를 시연하기 위해 Python 스크립트를 만들어 보겠습니다. VS Code 편집기에서 ~/project 디렉토리에 any_isinstance.py라는 새 파일을 만듭니다.

## Create a mixed-type list
my_list = [1, "hello", 3.14, True]

## Check if the list contains any integers
has_integer = any(isinstance(x, int) for x in my_list)

## Print the result
print("List contains an integer:", has_integer)

## Check if the list contains any strings
has_string = any(isinstance(x, str) for x in my_list)

## Print the result
print("List contains a string:", has_string)

## Check if the list contains any floats
has_float = any(isinstance(x, float) for x in my_list)

## Print the result
print("List contains a float:", has_float)

## Check if the list contains any booleans
has_bool = any(isinstance(x, bool) for x in my_list)

## Print the result
print("List contains a boolean:", has_bool)

파일을 저장합니다. 이제 터미널에서 python 명령을 사용하여 스크립트를 실행합니다.

python ~/project/any_isinstance.py

다음과 같은 출력이 표시됩니다.

List contains an integer: True
List contains a string: True
List contains a float: True
List contains a boolean: True

이 예제에서는 any() 함수 내에서 제너레이터 표현식 (isinstance(x, int) for x in my_list)를 사용했습니다. 이 제너레이터 표현식은 요소 xint의 인스턴스인 경우 True를 생성하고, 그렇지 않으면 False를 생성합니다. 그런 다음 any() 함수는 이러한 값 중 하나라도 True인지 확인합니다.

출력이 어떻게 변경되는지 확인하기 위해 리스트를 수정해 보겠습니다. my_list의 첫 번째 요소를 float 로 변경합니다.

## Create a mixed-type list
my_list = [1.0, "hello", 3.14, True]

## Check if the list contains any integers
has_integer = any(isinstance(x, int) for x in my_list)

## Print the result
print("List contains an integer:", has_integer)

## Check if the list contains any strings
has_string = any(isinstance(x, str) for x in my_list)

## Print the result
print("List contains a string:", has_string)

## Check if the list contains any floats
has_float = any(isinstance(x, float) for x in my_list)

## Print the result
print("List contains a float:", has_float)

## Check if the list contains any booleans
has_bool = any(isinstance(x, bool) for x in my_list)

## Print the result
print("List contains a boolean:", has_bool)

파일을 저장하고 다시 실행합니다.

python ~/project/any_isinstance.py

이제 출력은 다음과 같아야 합니다.

List contains an integer: False
List contains a string: True
List contains a float: True
List contains a boolean: True

이제 리스트에 정수가 없으므로 has_integerFalse입니다.

이 기술은 리스트의 내용을 검증하거나 리스트에 있는 요소의 유형에 따라 다른 작업을 수행하는 데 유용합니다.

숫자 요소 찾기

이 단계에서는 혼합형 리스트에서 숫자형 요소 (정수 및 float) 를 찾고 추출하는 방법을 배우게 됩니다. 여기에는 리스트를 반복하고 isinstance() 함수를 사용하여 숫자형 요소를 식별하는 작업이 포함됩니다.

이를 시연하기 위해 Python 스크립트를 만들어 보겠습니다. VS Code 편집기에서 ~/project 디렉토리에 find_numeric.py라는 새 파일을 만듭니다.

## Create a mixed-type list
my_list = [1, "hello", 3.14, True, 5, "world", 2.71]

## Create an empty list to store numeric elements
numeric_elements = []

## Iterate through the list
for element in my_list:
    ## Check if the element is an integer or a float
    if isinstance(element, (int, float)):
        ## Add the element to the numeric_elements list
        numeric_elements.append(element)

## Print the list of numeric elements
print("Numeric elements:", numeric_elements)

파일을 저장합니다. 이제 터미널에서 python 명령을 사용하여 스크립트를 실행합니다.

python ~/project/find_numeric.py

다음과 같은 출력이 표시됩니다.

Numeric elements: [1, 3.14, 5, 2.71]

이 예제에서는 my_list를 반복하고 isinstance(element, (int, float))를 사용하여 각 요소가 정수 또는 float 인지 확인했습니다. 그렇다면 numeric_elements 리스트에 추가합니다.

스크립트를 수정하여 숫자형 요소의 합계도 출력해 보겠습니다.

## Create a mixed-type list
my_list = [1, "hello", 3.14, True, 5, "world", 2.71]

## Create an empty list to store numeric elements
numeric_elements = []

## Iterate through the list
for element in my_list:
    ## Check if the element is an integer or a float
    if isinstance(element, (int, float)):
        ## Add the element to the numeric_elements list
        numeric_elements.append(element)

## Print the list of numeric elements
print("Numeric elements:", numeric_elements)

## Calculate the sum of the numeric elements
numeric_sum = sum(numeric_elements)

## Print the sum
print("Sum of numeric elements:", numeric_sum)

파일을 저장하고 다시 실행합니다.

python ~/project/find_numeric.py

이제 출력은 다음과 같아야 합니다.

Numeric elements: [1, 3.14, 5, 2.71]
Sum of numeric elements: 11.85

이는 혼합형 리스트에서 특정 유형의 요소를 추출하고 해당 요소에 대한 작업을 수행하는 방법을 보여줍니다. 이 기술은 데이터 정리 및 전처리 작업에 유용합니다.

요약

이 Lab 에서는 정수, 문자열, float, 부울과 같은 다양한 데이터 유형의 요소를 포함할 수 있는 Python 의 혼합형 리스트를 탐구했습니다. 이러한 리스트를 생성하고, 인덱싱을 사용하여 해당 요소에 액세스하고, 리스트 내의 요소를 수정하는 방법을 배웠습니다.

Lab 에서는 전체 리스트와 개별 요소를 인쇄하는 방법을 시연하여 단일 리스트 구조 내에서 다양한 데이터 유형을 처리하는 기능을 보여주었습니다. 또한 특정 인덱스에서 요소의 값을 변경하는 연습을 통해 Python 에서 혼합형 리스트의 유연성을 더욱 잘 보여주었습니다.