概要
Pythonの内包表記についてです。
目的としては、内包表記で、以下のリストにある要素"b"のみを変換 (UTC->JST)することです。
出力は他要素も合わせて出力したいです。
前提
- Python 3.7
- リストサンプル
[ [ { 'a': 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx', 'b': datetime.datetime(2021, 4, 15, 10, 00, 00, tzinfo=tzlocal()), 'c': 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx', 'd': 0, 'e': 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx' }, { 'a': 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx', 'b': datetime.datetime(2021, 4, 15, 10, 00, 00, tzinfo=tzlocal()), 'c': 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx', 'd': 0, 'e': 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx' } ], [ { 'a': 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx', 'b': datetime.datetime(2021, 4, 15, 10, 00, 00, tzinfo=tzlocal()), 'c': 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx', 'd': 0, 'e': 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx' }, 以下略
質問
for文では以下のように書けば、他要素も合わせてb要素がJSTとなって出力されました。
for v in lst: for x in v: x['b'] = x['b'].astimezone(datetime.timezone(datetime.timedelta(hours=+9))) print(lst)
これを内包表記で表現することは可能でしょうか?!
よろしくお願い致します。