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.
Vergleichen wir den Code, der die Werte in der Liste durch Iteration abruft.
>>> target = ['AAA', 'BBB', 'CCC']
>>> current = 0
>>> while current < len(target):
... print(target[current])
... current += 1
...
AAA
BBB
CCC
>>> target = ['AAA', 'BBB', 'CCC']
>>> for out in target:
... print(out)
...
AAA
BBB
CCC
Der zweite Code ist besser Python-ähnlicher Code. Da eine Liste ein iterierbares Python-Objekt (das einem Iterator entspricht) ist, werden bei der Verarbeitung mit einer for-Anweisung die Elemente der Liste nacheinander abgerufen.
Neben Listen gibt es Python-Iterator-Objekte wie Zeichenfolgen, Tapples, Wörterbücher, Mengen und mehr.
>>> target = 'python'
>>> for out in target:
... print(out)
...
p
y
t
h
o
n
>>> num = {0:'zero', 1:'one', 2:'two'}
>>> for out in num:
... print(out)
...
0
1
2
>>> num = {0:'zero', 1:'one', 2:'two'}
>>> for out in num.keys():
... print(out)
...
0
1
2
>>> num = {0:'zero', 1:'one', 2:'two'}
>>> for out in num.values():
... print(out)
...
zero
one
two
>>> num = {0:'zero', 1:'one', 2:'two'}
>>> for out in num.items():
... print(out)
...
(0, 'zero')
(1, 'one')
(2, 'two')
Bei der Verarbeitung von Abruf und Zuordnung in einem Schritt
>>> num = {0:'zero', 1:'one', 2:'two'}
>>> for key, value in num.items():
... print('key:', key, 'value:', value)
...
key: 0 value: zero
key: 1 value: one
key: 2 value: two
Mit zip () können Sie mehrere Sequenzen parallel durchlaufen.
>>> list1 = ['1', '2', '3']
>>> list2 = ['A', 'B', 'C']
>>> list3 = ['one', 'two', 'three']
>>> for out1, out2, out3 in zip(list1, list2, list3):
... print('list1:', out1, 'list2', out2, 'list3', out3)
...
list1: 1 list2 A list3 one
list1: 2 list2 B list3 two
list1: 3 list2 C list3 three
>>> list1 = ['1', '2', '3']
>>> list2 = ['A', 'B', 'C']
>>> list( zip(list1, list2) )
[('1', 'A'), ('2', 'B'), ('3', 'C')]
>>> list1 = ['1', '2', '3']
>>> list2 = ['A', 'B', 'C']
>>> dict( zip(list1, list2) )
{'1': 'A', '2': 'B', '3': 'C'}
>>> for x in range(0, 3):
... print(x)
...
0
1
2
>>> list( range(0, 3) )
[0, 1, 2]
Recommended Posts