Powiedz, że masz regularny dykt z każdym kluczem reprezentującym obiekt jednorazowy, możesz go sformatować i wydrukować na ekranie tak, jak:
d = { key : DT_object}
#Print formatted key with corresponding formatted datetime object.
for key, value in d.iteritems():
print '%s %s' % (key,value)
Teraz, jeśli skomplikujemy rzeczy trochę więcej i przechowujemy listę obiektów datetime dla każdego klucza:
from collections import defaultdict
d = { key : [DT_object,DT_object]}
for key, value in d.iteritems():
print '%s %s' % (key,value)
Nasz proces formatowania teraz się rozpada. Jaki byłby właściwy kod, aby umożliwić cyklu Pythona przez każdy obiekt na liście i format?
2 odpowiedzi
Użyj join
i wykonaj wszystkie ciągi obiektów na liście wartości
'%s %s' % (key," ".join([str(x) for x in value]))
Używanie str.format
z przykładem:
d = { "foo" : [datetime.now(),datetime.now()]}
for key, value in d.iteritems():
print '{} {}'.format(key, " ".join([str(x) for x in value]))
foo 2014-08-13 20:34:11.940936 2014-08-13 20:34:11.940981
Możesz także użyć jednego z metod datetime
, aby zmienić do ciągów:
print '{} {}'.format(key, " ".join([x.isoformat() for x in value]))
foo 2014-08-13T20:36:08.900873 2014-08-13T20:36:08.900910
d = { key : [DT_object,DT_object]}
for key, value in d.iteritems():
print '%s %s' % (key,list(map(str,value)))
Może być tym, czego chcesz ...
Podobne pytania
Nowe pytania
python
Python to wielozadaniowy, wielozadaniowy język programowania dynamicznie typowany. Został zaprojektowany tak, aby był szybki do nauczenia się, zrozumienia i użycia oraz wymuszania czystej i jednolitej składni. Należy pamiętać, że Python 2 oficjalnie nie jest obsługiwany od 01-01-2020. Mimo to, w przypadku pytań Pythona specyficznych dla wersji, dodaj znacznik [python-2.7] lub [python-3.x]. Korzystając z wariantu Pythona (np. Jython, PyPy) lub biblioteki (np. Pandas i NumPy), należy umieścić go w tagach.