Objets itérables, itérateurs, pour le mécanisme de travail circulaire, générateurs en python

Python de rêve 2021-11-25 17:30:34
objets rables rateurs pour le

Tout d'abord,,Nous devons faire la distinction entre certains concepts et leur relation

Tableau(array) Tableau(list) Liste des liens(linked list) Liste des tableaux(array list) File d'attente(queue) Pile(stack)

image

listListe

arrayTableau

pythonIntégré au milieulistStructure des données Les types de données stockées peuvent être différents.

Mais il y a un inconvénient. listC'est l'index des données, c'est - à - dire le pointeur Cela nécessite le stockage original des données plus un pointeur vers les données Augmentation de la consommation.

pythonMoyennenumpyDe la bibliothèquearray Stockage d'un seul type de données .

pythonLe tableau n'est pas un type de données de base Mais vous pouvez appelerarrayBibliothèque OunumpyTableau d'utilisation de la bibliothèquearray .

arrayLa Bibliothèque ne peut créer que des tableaux unidimensionnels numpyLes tableaux sont très polyvalents Utilisation recommandéenumpy.

1 import array
2 arr=array.array('i',[1,2,3,4]) #Créer un tableau
3 print(arr,type(arr))

Conversion mutuelle

1 import numpy as np
2 arr=np.array([1,2,3,4]) #Créer un tableau
3 li=arr.tolist() #Tableau converti en liste
4 new_arr=np.array(li) #Liste au tableau
5 print(arr,type(arr))
6 print(li,type(li))
7 print(new_arr,type(new_arr))
#Produits
[1 2 3 4] <class 'numpy.ndarray'>
[1, 2, 3, 4] <class 'list'>
[1 2 3 4] <class 'numpy.ndarray'>

On peut le découvrir.list Les éléments sont séparés par des virgules ,array Il n'y a pas de symbole entre

QueueFile d'attente - Une structure de tableau qui ne permet qu'une opération de suppression dans un segment et une opération d'insertion à l'autre extrémité

StackPile - Supprimer la structure du tableau à la même extrémité que l'opération insert

Caractéristiques

Queue -Premier entré, premier sorti FIFO first in first out

Stack -Sortie avant et arrière FILO first in last out

Points communs: La pile et la file d'attente sont des tables linéaires avec des opérations limitées

Objet:Pile: Problème de correspondance entre parenthèses pour l'expression ,Solution labyrinthe

File d'attente: Les banques font la queue , Problèmes de processus du système d'exploitation , Problème de partenaire de danse

En tant que vieux conducteur , Ou obtenir des notes pour profiter du matériel d'apprentissage de la boutique de marchandises sèches ,Si votre temps n'est pas très stressant,Et je veux être rapidepythonAmélioration,Le plus important, c'est de ne pas avoir peur de souffrir.,Je vous suggère d'utiliser Wechat:762459510 ,C'est vraiment bien.,Beaucoup de gens progressent rapidement,J'ai besoin que tu n'aies pas peur de souffrir.!Vous pouvez l'ajouter et le voir.~,Bienvenue aux débutants et aux nouveaux arrivants.

pythonMise en œuvre de la file d'attente:(Il y a des commentaires)

 1 class Node(object):
2 def __init__(self,val): # Valeur entrante du noeud
3 self.next=None # Chaque noeud définit 2Propriétés nextPointez vers la position suivante
4 self.val=val # val Valeur du noeud
5
6 class Queue(object):
7 def __init__(self):
8 self.first=None # Chaque définition de file d'attente 2Propriétés first Supprimer l'extrémité
9 self.last=None # last Insert end
10
11 def enqueue(self,n):
12 n=Node(n)
13 if(self.first==None): #Si la file d'attente est vide
14 self.first=n
15 self.last=n
16 else: #Si la file d'attente n'est pas vide
17 self.last.next=n # L'extrémité d'insertion pointe vers n
18 self.last=n # La dernière valeur à l'extrémité d'insertion est n
19
20 def dequeue(self):
21 if (self.first==None):
22 return None
23 else:
24 reval=self.first.val
25 self.first=self.first.next # Spécifiez le premier à l'extrémité de suppression comme suivant
26 return reval
27 def allquit(self): # allquitAction: Les éléments de la file d'attente sont placés dans list Facile à imprimer
28 alist=[]
29 while (self.first!=None): #Cycle
30 temp=self.first.val #Etdequeue Même opération pour
31 self.first=self.first.next
32 alist.append(temp)
33 return alist
34
35 if __name__ == "__main__":
36 q=Queue()
37 q.enqueue(1)
38 q.enqueue(2)
39 q.enqueue(3)
40 q.dequeue()
41 print(q.allquit())

pythonMise en œuvre de la pile:(Il y a des commentaires)

 1 class Node(object):
2 def __init__(self,val):
3 self.next=None
4 self.val=val
5 class Stack(object):
6 def __init__(self):
7 self.top=None #Etqueue Les différents Inserts de suppression de pile sont à une extrémité Donc une seule position est définie
8
9 def push(self,n):
10 n=Node(n)
11 if(self.top==None): #Si la pile est vide
12 self.top=n
13 else:
14 n.next=self.top # L'élément insert suivant est l'élément top treillis
15 self.top = n # L'élément de la grille supérieure est la valeur d'insertion
16
17 def pop(self): # Supprimer les éléments de la grille supérieure
18 if(self.top==None): #Si la pile est vide
19 return None
20 else:
21 temp=self.top.val
22 self.top=self.top.next # Le nouvel élément top treillis est le dernier de l'ancien
23 return temp
24
25 def allquit(self): # Méthode de la pile d'impression
26 alist=[]
27 while(self.top!=None): #Cycle
28 temp=self.top.val #Etpop() La méthode fonctionne de la même façon
29 self.top=self.top.next
30 alist.append(temp)
31 print(alist)
32
33 if __name__== "__main__" :
34 s=Stack()
35 s.push(1)
36 s.push(3)
37 s.push(5)
38 s.pop()
39 s.allquit()
版权声明
本文为[Python de rêve]所创,转载请带上原文链接,感谢
https://pythonmana.com/2021/11/20211125172423091v.html

  1. Debugging mm32f3277 from zhufei, transplanted with micro Python development board
  2. Recognizing numbers using OpenCV and python
  3. 真的太香了,Python速查表终于出中文版了
  4. Django REST Framework(DRF)教程:快速入门
  5. python django objects filter过滤查询:startswith year
  6. Data encapsulation of Excel test cases in Python
  7. 学员管理系统python
  8. 肝了一夜,8000字概括精髓,pandas必知必会50例!
  9. Python竟然可以画漫画!漫画版的故宫导游图,来袭!
  10. Networkx graph theory Dijkstra algorithm shortest path implementation, Python
  11. Draw a HelloWorld with Python turtle Library
  12. 运行django的服务器内存使用偶尔跳高一点,重启服务马上下来,是内存泄露吧
  13. Basic usage of Python tqdm module in machine learning training
  14. Python -- basic usage method and basic template of argparse module
  15. python-sockertserver并发编程思想
  16. Programmation simultanée du serveur de sockets Python
  17. Vue+Django 旅游网项目 首页前端实现
  18. [learning notes] Python - pyecarts
  19. Python automated operation and maintenance -- actual combat (I)
  20. Classic usage of pandas: iloc and LOC of data filtering
  21. Python 多分支语句的三种结构
  22. Calendar module of Python time series
  23. Python 输出指定范围的闰年
  24. A super easy to use Python standard library. It's great to operate directories and files
  25. Fatal Python error: init_ fs_ encoding: failed to get the Python codec of the filesystem encoding
  26. Using Python to obtain a video address is as simple as
  27. #yyds干货盘点# 6. Python 元组,不可变的列表,滚雪球学 Python
  28. Yyds Dry Inventory # 6. Python tuples, invariant List, snowball Learning Python
  29. You cannot enter the registration page using Django registration redux
  30. 笨办法学Python第十八天:更多文件操作
  31. Python编辑代码,帮个忙呗
  32. pandas转换object为int失败了,有人能解答吗
  33. python解释题,解释这串,所代表的意思
  34. 用python用while语句写1000以内能被5和9整除的数和个数
  35. #python 我写了一个“饭店”程序
  36. Comprehensive application of Python foundation -- Development
  37. Écrivez en python le nombre et le nombre d'entiers qui peuvent être divisés par 5 et 9 jusqu'à 1000 dans une instruction while
  38. python3.7 FileNotFoundError: [WinError 2] 系统找不到指定的文件。
  39. 最全面的Python重点知识汇总
  40. You can learn Python articles without reading online classes (day 4)
  41. You can learn Python articles without reading online classes (the third day)
  42. python中 我想爬取一个网页,我在cmd中pip list中已经把requests 以及bs4 弄好了 但是他还是提示我没有那个模块
  43. You can learn Python articles without reading online classes (the next day)
  44. You can learn Python articles without reading online classes (the first day)
  45. 在Python和Go项目之后使用Rust的经验分享 - scaleway
  46. 使用PyO3从Python调用 Rust:加速Python
  47. Python 3.7 filenotfounderror: [winerror 2] le système n'a pas pu trouver le fichier spécifié.
  48. Python 一切皆对象
  49. 【Pandas学习笔记01】强大的分析结构化数据的工具集
  50. 求各位亲们可以解答一下嘛,为什么跑不出来呀,大学Python
  51. 【Pandas学习笔记01】强大的分析结构化数据的工具集
  52. python飞机大战如何让飞机始终在界面中,不能跑出界面
  53. Python代码阅读(第63篇):数字奇偶性
  54. python建立⼀個圖形介⾯應⽤(GUI app)
  55. python接口自动化的html格式报告以邮件形式发送展示的原文很丑怎么处理
  56. 针对初学者,我建议你学这 3 个 Python AutoEDA 工具包
  57. #yyds干货盘点#Python-爬虫_urlib一个类型和六个方法
  58. Pour les débutants, je vous recommande d'apprendre ces 3 kits autoeda Python
  59. 我想问python怎么入门嘞?求各路人士
  60. Summary of today's Django lessons: data reverse query triggers error field 'score_ jieshoufankui‘ expected a number but got ‘‘-20211109