[Python] Lass uns alle und jeden meistern

Einführung

atcoder-Tutorial Es gab ein Problem, bei dem festgestellt werden musste, ob jedes Element der Liste gerade oder ungerade war. Daher hatte ich normalerweise eine integrierte Funktion, wenn ich dachte, es wäre einfach zu schreiben. Es mag eine Geschichte sein, so viel zu schreiben, aber bitte lassen Sie mich sie verwenden, weil sie vorbereitet ist.

all(iterable)

Gibt True zurück, wenn alle ** Elemente von iterable true sind ** (oder wenn iterable leer ist).

def all(iterable):
    for element in iterable:
        if not element:
            return False
    return True

Hier ist was ** itarable ** ist.

Was ist iterierbar?

Ein wiederholbares Objekt. Ein Objekt, das jeweils ein Element zurückgibt.     ex) Listen, Tapples, Wörterbücher ...

Wenn Sie dies im Argument von ** iter () ** übergeben, wird ** Iterator ** für das Objekt zurückgegeben. (** Iterator ** ist ein Objekt, das den Datenfluss (grob) ausdrückt)

Zum Beispiel

for i in A:

Ein hier ist ** itarable **. for ruft automatisch ** iter () ** auf, um eine temporäre anonyme Variable zu erstellen und ** iterator ** während der Schleife beizubehalten.

Also lasst uns "alle" versuchen!

Das folgende Programm prüft, ob alle Elemente des Arrays ** array ** mit all vom Typ int sind. Überlegen Sie, wie es aussieht, bevor Sie sich die Ausgabe ansehen!

def check(array):
  if all( isinstance(x, int) for x in array):
    print("Array{}Alle Elemente von sind vom Typ int".format(array))
  else:
    print("Array{}Einige der Elemente sind nicht vom Typ int! !!".format(array))


check([2,5,6]) 
check([1,4,[]])
check(["1",2,3])
check([])
check(1)
Ausgabeergebnis

Alle Elemente des Arrays [2, 5, 6] sind vom Typ int Einige Elemente des Arrays [1, 4, []] sind nicht vom Typ int! !! Einige Elemente des Arrays ['1', 2, 3] sind nicht vom Typ int! !! Alle Elemente von array [] sind vom Typ int

TypeError Traceback (most recent call last)
weggelassen
TypeError: 'int' object is not iterable

War es wie erwartet? ** True ** wird auch für leere Arrays zurückgegeben. Natürlich habe ich einen Fehler bekommen, der besagt, dass der fünfte nicht iterierbar ist. Beachten Sie diese Punkte.

any(iterable) Als nächstes werde ich über "any ()" schreiben. Es scheint nicht erklärungsbedürftig zu sein, da der Inhalt dieser beiden Funktionen immer noch die Funktionsnamen sind (lacht)

Gibt True zurück, wenn ein ** Element von iterable true ** ist. Gibt False zurück, wenn iterable leer ist. Entspricht dem folgenden Code:

def any(iterable):
    for element in iterable:
        if element:
            return True
    return False

Das folgende Programm prüft, ob ein Element eines Arrays ** array ** mit any einen int-Typ hat. Überlegen Sie nach wie vor, wie es aussehen wird, bevor Sie sich die Ausgabe ansehen!

def check(array):
  if any( isinstance(x, int) for x in array):
    print("Array{}Es gibt einen int-Typ im Element von! !!".format(array))
  else:
    print("Array{}Es gibt keinen int-Typ im Element von!".format(array))


check([2,"5","6"]) 
check(["1","4","a"])
check([])
check([1])

Ausgabeergebnis

Das Element des Arrays [2, '5', '6'] hat einen int-Typ! !! Es gibt keinen int-Typ in den Elementen des Arrays ['1', '4', 'a']! Es gibt keinen int-Typ im Element des Arrays []! Das Element des Arrays [1] hat einen int-Typ! !!

Wie war es? Nr. 3 ist besonders vorsichtig. Sie können sehen, dass "False" bei einem leeren Array im Gegensatz zu "all" zurückgegeben wird. Kann ich noch etwas erklären?

abschließend

Was haben Sie gedacht? Ich kann den Kommentar und das Gefühl nicht leugnen, dass es überhaupt keine Nachfrage gab, aber ich hoffe, es hilft. Dann diesmal hier!

Recommended Posts

[Python] Lass uns alle und jeden meistern
[Blender x Python] Lass uns zufällig meistern !!
[Blender x Python] Lass uns die Rotation meistern !!
[Blender x Python] Lass uns das Material beherrschen !!
[Python] Checklistenelemente alle, alle
Lassen Sie uns EV3-Motoren und -Sensoren mit Python steuern
Python-Funktionen ~ max, min, sum, len, all, any
Schreiben wir ein Python-Programm und führen es aus
Was sind Python Taples und * Args?
[Python] Komprimieren und dekomprimieren
Python- und Numpy-Tipps
[Python] Pip und Wheel
Python Iterator und Generator
Schreiben wir Python-Code, der Go-Code analysiert und Go-Code generiert
Python-Pakete und -Module
Vue-Cli- und Python-Integration
Python-String-Manipulations-Master
Ruby, Python und Map
Versuchen Sie, ein einfaches Spiel mit Python 3 und iPhone zu erstellen
Python-Eingabe und Ausgabe
Python und Ruby teilen sich
Über __all__ in Python
Python asyncio und ContextVar
Sehen wir uns die Sprachspezifikationen für Python-Iteratoren und -Generatoren an
Lassen Sie uns ein PRML-Diagramm mit Python, Numpy und matplotlib erstellen.
[Python-Anfänger] Wie entwickle und führe ich Python schließlich aus?
[Version 2020] Lassen Sie Python alle Steuer- und Take-Home-Berechnungen durchführen
[Lass uns mit Python spielen] Bildverarbeitung zu Monochrom und Punkten
Ziel Python Library Master (48) Autopep8
Ziel Python Library Master (36) json2html
Ziel Python-Master (49) psidialogs
Mal sehen, wie def in Python verwendet wird
Lassen Sie uns Python Janome einfach verwenden
Programmieren mit Python und Tkinter
Ziel Python Library Master (26) easyxml
Ver- und Entschlüsselung mit Python
Ziel Python Library Master (29) table_printer
Zielen Sie auf die Namespaces des Python Library Master (55)
Ziel Python Library Master (46) Browserplus
Python: Klassen- und Instanzvariablen
3-3, Python-Zeichenfolge und Zeichencode
Python 2-Serie und 3-Serie (Anaconda Edition)
Ziel Python Library Master (30) Chronyk
Python auf Ruby und wütend Ruby auf Python
Python-Einzug und String-Format
Ziel Python Library Master (3) Arbeitskalender
Python Real Number Division (/) und Integer Division (//)
Ziel Python Library Master (37) Slimurl
Installieren Sie Python und Flask (Windows 10)
Ziel Python Library Master (44) Pynetviz
Ziel Python Library Master (8) Rolex
Ziel Python Library Master (52) Marktime
Ziel Python Library Master (7) Numparser
Informationen zu Python-Objekten und -Klassen
Informationen zu Python-Variablen und -Objekten
Ziel Python Library Master (21) hy
Richten Sie die Anforderungen des Python Library Master (18) aus
Apache mod_auth_tkt und Python AuthTkt