산업 제조
산업용 사물 인터넷 | 산업자재 | 장비 유지 보수 및 수리 | 산업 프로그래밍 |
home  MfgRobots >> 산업 제조 >  >> Industrial programming >> python

예제가 있는 Python map() 함수

Python map()은 입력으로 제공된 반복기의 모든 항목에 함수를 적용합니다. 예를 들어 반복자는 목록, 튜플, 집합, 사전, 문자열이 될 수 있으며 반복 가능한 맵 개체를 반환합니다. Python map()은 내장 함수입니다.

이 자습서에서는 다음을 배우게 됩니다.

구문:

map(function, iterator1,iterator2 ...iteratorN)

매개변수

중요한 두 가지

반환 가치

map() 함수는 반복자 내부의 모든 항목에 주어진 함수를 적용하고 반복 가능한 지도 객체, 즉 튜플, 목록 등을 반환합니다.

map() 함수는 어떻게 작동합니까?

map() 함수는 함수와 반복 가능한 객체로 두 개의 입력을 받습니다. map()에 주어진 함수는 일반 함수이며 주어진 반복 가능한 객체에 있는 모든 값을 반복합니다.

예를 들어 숫자 목록이 있고 각 숫자의 제곱을 찾고 싶다고 가정합니다.

출력을 얻으려면 주어진 숫자의 제곱을 반환하는 함수가 필요합니다. 기능은 다음과 같습니다.

def square(n):
	return n*n

사각형을 찾고자 하는 항목의 목록은 다음과 같습니다.

my_list = [2,3,4,5,6,7,8,9]

이제 map() 파이썬 내장 함수를 사용하여 my_list에 있는 각 항목의 제곱을 구해 보겠습니다.

최종 코드는 다음과 같습니다.

def square(n):
    return n*n
my_list = [2,3,4,5,6,7,8,9]
updated_list = map(square, my_list)
print(updated_list)
print(list(updated_list))

출력:

<map object at 0x0000002C59601748>
[4, 9, 16, 25, 36, 49, 64, 81]

map() 함수의 출력은 출력에서 ​​볼 수 있듯이 로 화면에 표시되는 지도 객체입니다.

for 루프를 사용하거나 list() 메서드를 사용하여 맵에서 출력을 반복하여 최종 출력을 얻어야 합니다. 주어진 목록 안에 값을 표시하는 코드에서 list()를 사용했습니다.

따라서 map() 함수를 사용하여 각 숫자의 제곱을 얻을 수 있습니다. map에 제공된 목록은 [2,3,4,5,6,7,8,9]이고 함수 square()를 사용하여 출력 map()에서 얻은 결과는 [4, 9, 16, 25, 36, 49, 64, 81] 입니다.

map() 함수는 목록의 모든 항목에 square() 함수를 적용합니다. 예를 들어 my_list 변수는 각 숫자의 제곱으로 목록을 업데이트합니다. out은 updated_list 변수에 저장됩니다.

Python 내장 함수와 함께 map() 사용

Python map() 함수는 내장 함수이며 Python에서 사용할 수 있는 다른 내장 함수와 함께 사용할 수도 있습니다. 이 예에서는 주어진 값을 반올림하는 Python round() 내장 함수를 사용할 것입니다.

예:

내가 가지고있는 목록은 my_list =[2.6743,3.63526,4.2325,5.9687967,6.3265,7.6988,8.232,9.6907] 입니다.

목록에 있는 각 항목에 대해 반올림된 값이 필요합니다. map()에 대한 함수로 round()를 사용할 것입니다.

my_list = [2.6743,3.63526,4.2325,5.9687967,6.3265,7.6988,8.232,9.6907]
updated_list = map(round, my_list)
print(updated_list)
print(list(updated_list))

출력:

<map object at 0x000000E65F901748>
[3, 4, 4, 6, 6, 8, 8, 10]

round() 함수는 목록의 모든 항목에 적용되며 출력에 표시된 대로 모든 값이 반올림된 목록을 반환합니다.

문자열과 함께 map()을 반복자로 사용

문자열에서 map()을 사용할 수도 있습니다. Python에서 문자열은 배열처럼 작동하므로 map() 내부에서 쉽게 사용할 수 있습니다.

예제에는 주어진 문자열을 대문자로 변환하는 myMapFunc() 함수가 있습니다. myMapFunc() 함수는 map() 함수에 제공됩니다. map 함수는 문자열을 myMapFunc()에 전달하여 주어진 문자열을 대문자로 변환하는 작업을 처리합니다.

def myMapFunc(s):
    return s.upper()
my_str = "welcome to guru99 tutorials!"
updated_list = map(myMapFunc, my_str)
print(updated_list)
for i in updated_list:
    print(i, end="")

출력:

<map object at 0x000000DF2E711748>
WELCOME TO GURU99 TUTORIALS!

숫자 목록과 함께 map() 사용

map()의 목록으로 작업하려면 숫자 목록을 가져와서 목록의 각 숫자에 10을 곱합니다.

우리가 사용할 목록은 [2,3,4,5,6,7,8,9]입니다. myMapFunc() 함수는 주어진 숫자에 10을 곱하는 것을 처리합니다. 함수는 목록과 함께 매핑하도록 제공됩니다.

예:

def myMapFunc(n):
    return n*10

my_list = [2,3,4,5,6,7,8,9]

updated_list = map(myMapFunc, my_list)
print(updated_list)
print(list(updated_list))

출력:

<map object at 0x000000EE2C061898>
[20, 30, 40, 50, 60, 70, 80, 90]

우리가 보는 출력은 목록의 각 숫자가

10을 곱합니다.

튜플과 함께 map() 사용

튜플은 항목이 쉼표로 구분되고 대괄호로 묶인 Python의 개체입니다. 예제에서는 문자열 값이 있는 튜플을 사용합니다. 우리가 사용할 함수는 주어진 값을 대문자로 변환합니다.

예:

def myMapFunc(n):
    return n.upper()

my_tuple = ('php','java','python','c++','c')

updated_list = map(myMapFunc, my_tuple)
print(updated_list)
print(list(updated_list))

출력:

<map object at 0x0000009C3C3A16A0>
['PHP', 'JAVA', 'PYTHON', 'C++', 'C']

우리가 얻는 출력은 모든 값이 대문자로 변환된 튜플 백입니다.

사전과 함께 map() 사용

Python에서 사전은 중괄호({})를 사용하여 생성됩니다. 사전은 반복자이므로 map() 함수 내에서 사용할 수 있습니다. 이제 map() 함수 내에서 사전을 반복자로 사용합시다.

다음 예제는 map() 내부에서 사전 반복자의 작동을 보여줍니다.

def myMapFunc(n):
    return n*10
my_dict = {2,3,4,5,6,7,8,9}
finalitems = map(myMapFunc, my_dict)
print(finalitems)
print(list(finalitems))

출력:

<map object at 0x0000007EB451DEF0>
[20, 30, 40, 50, 60, 70, 80, 90]

Set과 함께 map() 사용

Python에서 집합은 중괄호(())로 묶인 항목의 정렬되지 않은 컬렉션입니다. set()도 반복자이기 때문에 map() 함수 내에서 사용할 수 있습니다.

다음은 map() 내부에서 반복자로 set을 사용하는 작업 예입니다.

def myMapFunc(n):
    return n*10
my_set = {2,3,4,5,6,7,8,9}
finalitems = map(myMapFunc, my_set)
print(finalitems)
print(list(finalitems))

출력:

<map object at 0x000000AC8F05DEF0>
[20, 30, 40, 50, 60, 70, 80, 90]

람다 함수와 함께 map() 사용

Python에서 람다 표현식은 익명 함수를 구성하는 데 사용됩니다. def를 사용하여 일반 함수를 정의하는 것처럼 람다 키워드를 사용해야 합니다.

따라서 예제에서는 map() 내부의 람다 함수를 사용할 것입니다. 람다 함수는 목록의 각 값에 10을 곱합니다.

예:

my_list = [2,3,4,5,6,7,8,9]
updated_list = map(lambda x: x * 10, my_list)
print(updated_list)
print(list(updated_list))

출력:

<map object at 0x000000BD18B11898>
[20, 30, 40, 50, 60, 70, 80, 90]

map() 함수 내에서 다중 반복자 사용

예제 1:두 개의 목록 반복자를 map()에 전달

하나 이상의 반복자, 즉 목록, 튜플 등을 모두 동시에 map() 함수에 보낼 수 있습니다.

예를 들어 두 개의 목록을 추가하려는 경우입니다. map() 함수를 사용하여 동일한 작업을 수행할 수 있습니다. my_list1과 my_list2의 두 가지 목록을 사용할 것입니다.

아래 예에서는 my_list1의 첫 번째 항목이 my_list2의 첫 번째 항목에 추가됩니다. myMapFunc() 함수는 my_list1과 my_list2의 항목을 가져와서 둘 다의 합계를 반환합니다.

다음은 map() 함수를 사용하여 두 개의 주어진 목록을 추가하는 작업 예입니다.

def myMapFunc(list1, list2):
    return list1+list2

my_list1 = [2,3,4,5,6,7,8,9]
my_list2 = [4,8,12,16,20,24,28]

updated_list = map(myMapFunc, my_list1,my_list2)
print(updated_list)
print(list(updated_list))

출력:

<map object at 0x0000004D5F751860>
[6, 11, 16, 21, 26, 31, 36]

예제 2:하나의 튜플과 목록 반복자를 map()에 전달

map() 함수에서 리스트와 튜플 반복자를 사용할 것입니다. 이 함수는 map에 제공됩니다. myMapFunc()는 목록과 Tuple에서 항목을 가져옵니다. 항목은 밑줄(_)로 결합됩니다. 작업 예는 다음과 같습니다.

def myMapFunc(list1, tuple1):
    return list1+"_"+tuple1

my_list = ['a','b', 'b', 'd', 'e']
my_tuple = ('PHP','Java','Python','C++','C')

updated_list = map(myMapFunc, my_list,my_tuple)
print(updated_list)
print(list(updated_list))

출력:

<map object at 0x00000059F37BB4E0>
['a_PHP', 'b_Java', 'b_Python', 'd_C++', 'e_C']

요약


python

  1. Python 익명/람다 함수
  2. 파이썬 생성기
  3. 파이썬 클로저
  4. 파이썬 데코레이터
  5. 예제를 사용한 C++ 연산자 오버로딩
  6. 프로그램 예제가 있는 C++ 함수
  7. Python Print() 문:예제로 인쇄하는 방법
  8. EXAMPLE이 있는 Python String strip() 함수
  9. 예제가 있는 Python 문자열 count()
  10. Python String format() 예제로 설명