Maison développement back-end Tutoriel Python Python用zip函数同时遍历多个迭代器示例详解

Python用zip函数同时遍历多个迭代器示例详解

Dec 15, 2016 am 09:17 AM

前言

本文主要介绍的是Python如何使用zip函数同时遍历多个迭代器,文中的版本为Python3,zip函数是Python内置的函数。下面话不多说,来看详细的内容。

应用举例

>>> list1 = ['a', 'b', 'c', 'd']
>>> list2 = ['apple', 'boy', 'cat', 'dog']
>>> for x, y in zip(list1, list2):
  print(x, 'is', y)
# 输出
a is apple
b is boy
c is cat
d is dog
Copier après la connexion

   

这样就很简洁地实现了同时遍历两个列表,very pythonic!!!

原理说明

Python3中的zip函数可以把两个或者两个以上的迭代器封装成生成器,这种zip生成器会从每个迭代器中获取该迭代器的下一个值,然后把这些值组装成元组(tuple)。这样,zip函数就实现了平行地遍历多个迭代器。

注意

如果输入的迭代器长度不同,那么,只要有一个迭代器遍历完,zip就不再产生元组了,zip会提前终止,这可能导致意外的结果,不可不察。如果不能确定zip所封装的列表是否等长,可以改用 itertools 内置模块中的zip_longest 函数,这个函数不在乎它们的长度是否相等。

在Python2中,zip不是生成器,它平行地遍历这些迭代器,组装元组,并把这些元组所构成的列表一次性完整地返回,这可能会占用大量内存并导致程序崩溃,如果在Python2中要遍历数据量大的迭代器,推荐使用 itertools 内置模块中的 izip 函数。

总结

以上就是Python用zip函数同时遍历多个迭代器的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流。

更多相关文章请关注PHP中文网(www.php.cn)!


Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
2 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
2 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
2 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment utiliser des itérateurs et des algorithmes récursifs pour traiter des données en C# Comment utiliser des itérateurs et des algorithmes récursifs pour traiter des données en C# Oct 08, 2023 pm 07:21 PM

Comment utiliser des itérateurs et des algorithmes récursifs pour traiter des données en C# nécessite des exemples de code spécifiques. En C#, les itérateurs et les algorithmes récursifs sont deux méthodes de traitement de données couramment utilisées. Les itérateurs peuvent nous aider à parcourir les éléments d'une collection et les algorithmes récursifs peuvent gérer efficacement des problèmes complexes. Cet article explique comment utiliser les itérateurs et les algorithmes récursifs pour traiter les données et fournit des exemples de code spécifiques. Utilisation d'itérateurs pour traiter les données En C#, nous pouvons utiliser des itérateurs pour parcourir les éléments d'une collection sans connaître à l'avance la taille de la collection. Grâce à l'itérateur, je

Meilleures pratiques pour les itérateurs dans les programmes PHP Meilleures pratiques pour les itérateurs dans les programmes PHP Jun 06, 2023 am 08:05 AM

Meilleures pratiques pour les itérateurs dans les programmes PHP L'itérateur est un modèle de conception très courant dans la programmation PHP. En implémentant l'interface itérateur, nous pouvons parcourir les éléments d'un objet de collection, et nous pouvons également facilement implémenter notre propre objet itérateur. En PHP, le modèle itérateur peut nous aider à exploiter plus efficacement les objets de collection tels que les tableaux et les listes. Dans cet article, nous présenterons les meilleures pratiques pour les itérateurs dans les programmes PHP, dans l'espoir d'aider les développeurs PHP qui travaillent également sur des applications itérateurs. 1. Utilisez l'interface itérateur standard P

Explication détaillée de la mise en œuvre et de l'utilisation de l'itérateur Golang Explication détaillée de la mise en œuvre et de l'utilisation de l'itérateur Golang Mar 17, 2024 pm 09:21 PM

Golang est un langage compilé statiquement rapide et efficace. Sa syntaxe concise et ses performances puissantes le rendent très populaire dans le domaine du développement logiciel. Dans Golang, l'itérateur (Iterator) est un modèle de conception couramment utilisé pour parcourir les éléments d'une collection sans exposer la structure interne de la collection. Cet article présentera en détail comment implémenter et utiliser les itérateurs dans Golang, et aidera les lecteurs à mieux comprendre grâce à des exemples de code spécifiques. 1. Définition de l'itérateur Dans Golang, l'itérateur se compose généralement d'une interface et d'une implémentation

Conseils majeurs et mineurs en Python Conseils majeurs et mineurs en Python Aug 25, 2023 pm 04:05 PM

Introduction Des invites primaires et secondaires, qui obligent l'utilisateur à saisir des commandes et à communiquer avec l'interprète, rendent ce mode d'interaction possible. L'invite principale, généralement représentée par >>>, indique que Python est prêt à recevoir des entrées et à exécuter le code approprié. Comprendre le rôle et la fonction de ces astuces est crucial pour tirer parti des capacités de programmation interactive de Python. Dans cet article, nous discuterons des invites majeures et mineures de Python, en soulignant leur importance et la manière dont elles améliorent l'expérience de programmation interactive. Nous examinerons leurs fonctionnalités, leurs options de format et leurs avantages pour une création, une expérimentation et des tests rapides de code. Les développeurs peuvent améliorer leur expérience en comprenant les invites principales et secondaires pour utiliser le mode interactif de Python.

Garanties de sécurité des itérateurs pour les bibliothèques de conteneurs C++ Garanties de sécurité des itérateurs pour les bibliothèques de conteneurs C++ Jun 05, 2024 pm 04:07 PM

La bibliothèque de conteneurs C++ fournit les mécanismes suivants pour assurer la sécurité des itérateurs : 1. Garantie d'immuabilité du conteneur ; 2. Itérateur de copie ; 3. Plage pour la boucle ; 4. Itérateur de const ;

Introduction aux fonctions Python : introduction et exemples de fonction zip Introduction aux fonctions Python : introduction et exemples de fonction zip Nov 03, 2023 pm 02:02 PM

Introduction aux fonctions Python : Introduction et exemples de fonction zip Python est un langage de haut niveau qui fournit de nombreuses fonctions utiles pour aider les développeurs à écrire rapidement des programmes. L'une de ces fonctions est la fonction zip. La fonction Zip est l'une des fonctions intégrées à Python. Elle peut accepter un ensemble d'objets itérables (y compris des listes, des tuples, des ensembles, des dictionnaires, etc.) et renvoyer un élément composé de paires d'éléments dans ces objets itérables dans l'ordre. . Groupe. La fonction Zip peut être utilisée dans de nombreuses situations, telles que : 1. Convertir les éléments de deux listes

Comment utiliser la fonction next() en Python pour obtenir l'élément suivant d'un itérateur Comment utiliser la fonction next() en Python pour obtenir l'élément suivant d'un itérateur Aug 22, 2023 pm 04:40 PM

Comment utiliser la fonction next() en Python pour obtenir l'élément suivant d'un itérateur. Iterator est un concept très couramment utilisé en Python, qui nous permet de parcourir une collection de données dans un ordre spécifique. Pendant le processus d'itération, nous avons souvent besoin d'obtenir l'élément suivant de l'itérateur. Dans ce cas, nous pouvons utiliser la fonction next() pour y parvenir. En Python, nous pouvons utiliser la fonction iter() pour convertir un objet itérable en itérateur. Par exemple, si nous avons une liste, nous pouvons la convertir en itérateur

Itérateurs en C++ STL Itérateurs en C++ STL Aug 21, 2023 pm 08:52 PM

C++STL (StandardTemplateLibrary) est l'une des bibliothèques standards du langage de programmation C++. Elle contient une série de structures de données et d'algorithmes standards. En STL, l'itérateur (itérateur) est un outil très important pour parcourir et accéder aux conteneurs STL. Un itérateur est un objet de type pointeur qui peut pointer vers un élément dans un conteneur (tel qu'un vecteur, une liste, un ensemble, une carte, etc.) et peut être déplacé dans le conteneur.

See all articles