Python Itertools --- αλυσίδα, isSlice και izip Εξηγούνται με παραδείγματα

Το Itertools είναι μια λειτουργική μονάδα Python που επιστρέφει γεννήτριες, τα οποία είναι αντικείμενα που λειτουργούν μόνο όταν επαναλαμβάνεται.

αλυσίδα()

Η chain()συνάρτηση λαμβάνει διάφορα επαναληπτικά ως ορίσματα. Περνά μέσα από κάθε στοιχείο κάθε περάσματος που επαναλαμβάνεται και, στη συνέχεια, επιστρέφει έναν μόνο επαναληπτικό με τα περιεχόμενα όλων των επαναλαμβανόμενων επαναληπτών.

import itertools list(itertools.chain([1, 2], [3, 4])) # Output # [1, 2, 3, 4]

islice ()

Η islice()συνάρτηση επιστρέφει συγκεκριμένα στοιχεία από τον επαναλαμβανόμενο επαναληπτή.

Παίρνει τα ίδια επιχειρήματα με τον slice()τελεστή για λίστες: έναρξη, διακοπή και βήμα. Η εκκίνηση και η διακοπή είναι προαιρετικές.

import itertools list(itertools.islice(count(), 5)) # Output # [0, 1, 2, 3, 4]

izip ()

izip() επιστρέφει έναν επαναληπτικό που συνδυάζει τα στοιχεία των επαναλαμβανόμενων επαναληπτών σε πλειάδες.

Λειτουργεί με παρόμοιο τρόπο zip(), αλλά επιστρέφει έναν επαναληπτικό αντί για μια λίστα.

import itertools list(izip([1, 2, 3], ['a', 'b', 'c'])) # Output # [(1, 'a'),(2, 'b'),(3, 'c')]

Περισσότερες πληροφορίες:

  • Μάθετε Ανάλυση Δεδομένων με το Python - Ένα δωρεάν 4ωρο μάθημα
  • Multithreaded Python: ολίσθηση μέσω σημείου συμφόρησης I / O;