Vous étudierez la grammaire de base du système Python 3 en vous référant à "Introduction Python 3" de O'Reilly Japan. J'espère que cela sera utile pour ceux qui veulent étudier Python de la même manière.
La notation d'inclusion est un format qui vous permet de créer de manière compacte une structure de données Python à partir d'un ou plusieurs itérateurs.
La forme la plus simple d'inclusion de liste est la suivante.
[ expression for item in iterable ]
--Code normal (non inclus)
>>> str_list = []
>>> for i in range(1, 6):
... str_list.append(str(i) * i)
...
>>> str_list
['1', '22', '333', '4444', '55555']
--Code en notation d'inclusion de liste
>>> [str(i) * i for i in range(1, 6)]
['1', '22', '333', '4444', '55555']
--Code normal (non inclus)
>>> num_list = []
>>> for i in range(1, 6):
... if i % 2 == 1:
... num_list.append(str(i) * i)
...
>>> num_list
['1', '333', '55555']
--Code en notation d'inclusion de liste
>>> [str(i) * i for i in range(1, 6) if i % 2 == 1]
['1', '333', '55555']
--Code normal (non inclus)
>>> keys = range(0, 3)
>>> vals = range(0, 3)
>>> for key in keys:
... for val in vals:
... print(key, val)
...
0 0
0 1
0 2
1 0
1 1
1 2
2 0
2 1
2 2
--Code en notation d'inclusion de liste
>>> keys = range(0, 3)
>>> vals = range(0, 3)
>>> tuple = [(key, val) for key in keys for val in vals]
>>> for key, val in tuple:
... print(key, val)
...
0 0
0 1
0 2
1 0
1 1
1 2
2 0
2 1
2 2
La forme la plus simple d'inclusion de dictionnaire est la suivante.
{ key_item : value_item for item in iterable }
>>> iter_obj = [(1, 'AA'), (2, 'BB'), (3, 'CC')]
>>> dict_obj = {key : val for key, val in iter_obj}
>>> dict_obj
{1: 'AA', 2: 'BB', 3: 'CC'}
La forme la plus simple de notation d'inclusion d'ensemble est la suivante.
{ item for item in iterable }
>>> {10**i for i in range(1, 6)}
{100000, 100, 1000, 10, 10000}
Le générateur ne peut fonctionner qu'une seule fois.
>>> #Ce qui se trouve entre les parenthèses est la notation d'inclusion du générateur, qui renvoie l'objet générateur.
>>> gene_obj = (num**2 for num in range(1, 6))
>>> num_list = list(gene_obj)
>>> num_list
[1, 4, 9, 16, 25]
>>> #Quand j'utilise à nouveau le même objet générateur, rien ne sort
>>> num_list = list(gene_obj)
>>> num_list
[]
Recommended Posts