Sie lernen die grundlegende Grammatik des Python 3-Systems unter "Einführung Python 3" von O'Reilly Japan. Ich hoffe, es ist hilfreich für diejenigen, die Python auf die gleiche Weise lernen möchten.
Die Einschlussnotation ist ein Format, mit dem Sie eine Python-Datenstruktur aus einem oder mehreren Iteratoren kompakt erstellen können.
Die einfachste Form der Listeneinbeziehung ist wie folgt.
[ expression for item in iterable ]
>>> str_list = []
>>> for i in range(1, 6):
... str_list.append(str(i) * i)
...
>>> str_list
['1', '22', '333', '4444', '55555']
>>> [str(i) * i for i in range(1, 6)]
['1', '22', '333', '4444', '55555']
>>> num_list = []
>>> for i in range(1, 6):
... if i % 2 == 1:
... num_list.append(str(i) * i)
...
>>> num_list
['1', '333', '55555']
>>> [str(i) * i for i in range(1, 6) if i % 2 == 1]
['1', '333', '55555']
>>> 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
>>> 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
Die einfachste Form der Wörterbucheinbeziehung ist wie folgt.
{ 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'}
Die einfachste Form der Satzeinschlussnotation ist wie folgt.
{ item for item in iterable }
>>> {10**i for i in range(1, 6)}
{100000, 100, 1000, 10, 10000}
Der Generator kann nur einmal betrieben werden.
>>> #Zwischen den Klammern steht die Generatoreinschlussnotation, die das Generatorobjekt zurückgibt.
>>> gene_obj = (num**2 for num in range(1, 6))
>>> num_list = list(gene_obj)
>>> num_list
[1, 4, 9, 16, 25]
>>> #Wenn ich wieder dasselbe Generatorobjekt verwende, kommt nichts heraus
>>> num_list = list(gene_obj)
>>> num_list
[]
Recommended Posts