Die beiden Setups mit print(i, j)
und print(i)
liefern das gleiche Ergebnis. Gibt es Fälle, in denen eine .__ über der anderen verwendet werden sollte, oder ist es richtig, sie austauschbar zu verwenden?
desc = {'city': 'Monowi', 'state': 'Nebraska', 'county':'Boyd', 'pop': 1}
for i, j in desc.items():
print(i, j)
for i in desc.items():
print(i)
for i, j in desc.items():
print(i, j)[1]
for i in desc.items():
print(i)[1]
Beide unterscheiden sich, wenn Sie Klammern im Druck entfernen, da Sie Python 2X verwenden
desc = {'city': 'Monowi', 'state': 'Nebraska', 'county':'Boyd', 'pop': 1}
for i, j in desc.items():
print i, j
for i in desc.items():
print i
ausgabe
county Boyd
city Monowi
state Nebraska
pop 1
('county', 'Boyd')
('city', 'Monowi')
('state', 'Nebraska')
('pop', 1)
In Python 3 liefern print(i, j)
und print(i)
nicht dasselbe Ergebnis.
print(i, j)
gibt den Schlüssel i
aus, gefolgt von seinem Wert j
print(i)
gibt einen Tupel aus, der den Wörterbuchschlüssel gefolgt von seinem Wert enthält
items()
gibt ein View-Objekt zurück, mit dem Sie die (key, value)
-Tupel durchlaufen können. Im Grunde können Sie sie einfach so manipulieren, wie Sie es mit Tupeln machen. Das Dokument kann helfen:
iter (dictview) Geben Sie einen Iterator über die Schlüssel, Werte oder Elemente (dargestellt als Tupel> von (Schlüssel, Wert)) im Wörterbuch zurück.
Ich denke auch, dass print(i, j)[1]
in Python 3 zu Fehlern führen würde, da print(i, j)
None
zurückgibt.