Cloud-Lösungen der Zukunft - Testen!

Revolutionäre Cloud-Technologie, ganz ohne versteckte Kosten. Profitieren Sie von unserer Testphase und entdecken Sie umfassende Funktionen. Der Anmeldeprozess ist transparent und unkompliziert. Starten Sie jetzt Ihre Reise in die Cloud - Kostenfrei!

Python map() Funktion

Die Python map() Funktion wird verwendet, um eine Funktion auf alle Elemente eines angegebenen Iterierbaren anzuwenden und ein map-Objekt zurückzugeben. Ein Python map-Objekt ist ein Iterator, daher können wir über seine Elemente iterieren. Wir können das map-Objekt auch in Sequenzobjekte wie Liste, Tupel usw. mit deren Factory-Funktionen umwandeln.

Python map() Funktion

Die Syntax der Python map() Funktion ist:

map(function, iterable, ...)

Wir können mehrere iterierbare Argumente an die map() Funktion übergeben, in diesem Fall muss die angegebene Funktion so viele Argumente haben. Die Funktion wird auf diese iterierbaren Elemente parallel angewendet. Mit mehreren iterierbaren Argumenten stoppt der map-Iterator, wenn das kürzeste Iterierbare erschöpft ist.

Python map() Beispiel

Lassen Sie uns eine Funktion schreiben, die mit der map() Funktion verwendet wird.

def to_upper_case(s):
    return str(s).upper()

Es ist eine einfache Funktion, die die Großbuchstabendarstellung des Eingabeobjekts zurückgibt. Ich definiere auch eine Hilfsfunktion, um die Elemente des Iterators zu drucken. Die Funktion druckt die Elemente des Iterators mit Leerzeichen und wird in allen Code-Snippets wiederverwendet.

def print_iterator(it):
    for x in it:
        print(x, end=' ')
    print('')  # for new line

Python map() mit String

map_iterator = map(to_upper_case, 'abc')
print(type(map_iterator))
print_iterator(map_iterator)

Output:

Python map() mit Tupel

map_iterator = map(to_upper_case, (1, 'a', 'abc'))
print_iterator(map_iterator)

Output:

Python map() mit Liste

map_iterator = map(to_upper_case, ['x', 'a', 'abc'])
print_iterator(map_iterator)

Output:

Konvertierung von map in Liste, Tupel, Set

Da das map-Objekt ein Iterator ist, können wir es als Argument an die Factory-Methoden zur Erstellung einer Liste, eines Tupels, eines Sets usw. übergeben.

map_iterator = map(to_upper_case, ['a', 'b', 'c'])
my_list = list(map_iterator)
print(my_list)

map_iterator = map(to_upper_case, ['a', 'b', 'c'])
my_set = set(map_iterator)
print(my_set)

map_iterator = map(to_upper_case, ['a', 'b', 'c'])
my_tuple = tuple(map_iterator)
print(my_tuple)

Output:

['A', 'B', 'C']
{'C', 'B', 'A'}
('A', 'B', 'C')

Python map() mit Lambda

Wir können Lambda-Funktionen mit map() verwenden, wenn wir sie nicht wiederverwenden möchten. Dies ist nützlich, wenn unsere Funktion klein ist und wir keine neue Funktion definieren möchten.

list_numbers = [1, 2, 3, 4]

map_iterator = map(lambda x: x * 2, list_numbers)
print_iterator(map_iterator)

Output:

Python map() mit mehreren Argumenten

Lassen Sie uns ein Beispiel für die Verwendung der map() Funktion mit mehreren iterierbaren Argumenten betrachten.

list_numbers = [1, 2, 3, 4]
tuple_numbers = (5, 6, 7, 8)
map_iterator = map(lambda x, y: x * y, list_numbers, tuple_numbers)
print_iterator(map_iterator)

Output: 5 12 21 32 Beachten Sie, dass unsere Funktion zwei Argumente hat. Der Output-Map-Iterator ist das Ergebnis der parallelen Anwendung dieser Funktion auf die beiden iterierbaren Elemente. Schauen wir uns an, was passiert, wenn die Iterablen unterschiedlich groß sind.

list_numbers = [1, 2, 3, 4]
tuple_numbers = (5, 6, 7, 8, 9, 10)
map_iterator = map(lambda x, y: x * y, list_numbers, tuple_numbers)
print_iterator(map_iterator)

map_iterator = map(lambda x, y: x * y, tuple_numbers, list_numbers)
print_iterator(map_iterator)

Output:

Wenn also die Argumente unterschiedlich groß sind, wird die map-Funktion auf die Elemente angewendet, bis eines von ihnen erschöpft ist.

Python map() mit Funktion None

Lassen Sie uns sehen, was passiert, wenn wir die Funktion als None übergeben.

map_iterator = map(None, 'abc')
print(map_iterator)
for x in map_iterator:
    print(x)

Output:

Traceback (most recent call last):
  File "/Users/pankaj/Documents/github/journaldev/Python-3/basic_examples/python_map_example.py", line 3, in 
    for x in map_iterator:
TypeError: 'NoneType' object is not callable

Starten Sie Ihre Cloud-Reise mit unserer kostenlosen Trial-Version!

Entdecken Sie die grenzenlosen Möglichkeiten unserer Cloud-Dienste ganz unverbindlich. Melden Sie sich jetzt für unsere kostenlose Trial-Version an und erleben Sie, wie unsere innovativen Lösungen Ihr Business transformieren können.

Try for free!