如何拆分列表的元素?

How can I split elements of a list?

我有一个列表,它是 j4。此列表包含具有期间和金额信息的元素。我需要将这个 j4 分成两个列表,分别显示句点和金额。我该怎么做?

j4 = [{'period': 1, 'amount': -2400.0},
 {'period': 2, 'amount': -2400.0},
 {'period': 3, 'amount': -2400.0},
 {'period': 4, 'amount': -2400.0},
 {'period': 5, 'amount': -2400.0},
 {'period': 6, 'amount': -2400.0},
 {'period': 7, 'amount': -2400.0},
 {'period': 8, 'amount': -2400.0},
 {'period': 9, 'amount': -2400.0},
 {'period': 10, 'amount': -2400.0},
 {'period': 11, 'amount': -2400.0},
 {'period': 12, 'amount': -2400.0},
 {'period': 13, 'amount': -2400.0},
 {'period': 14, 'amount': -2400.0},
 {'period': 15, 'amount': -2400.0},
 {'period': 16, 'amount': -2400.0},
 {'period': 17, 'amount': -2400.0},
 {'period': 18, 'amount': -2400.0},
 {'period': 19, 'amount': -2400.0},
 {'period': 20, 'amount': -2400.0},
 {'period': 21, 'amount': -2400.0},
 {'period': 22, 'amount': -2400.0},
 {'period': 23, 'amount': -2400.0},
 {'period': 24, 'amount': -2400.0}]

使用两个列表理解:

j4_period = [d['period'] for d in j4]
j4_amount = [d['amount'] for d in j4]

这是您要找的吗?

你可以使用这些方法

from operator import itemgetter

j4 = [{'period': 1, 'amount': -2400.0},
 {'period': 2, 'amount': -2400.0},
 {'period': 3, 'amount': -2400.0}]

period, amount = zip(*map(itemgetter("period", "amount"), j4))

period, amount = zip(*[ (i["period"], i["amount"]) for i in j4 ])

输出

(1, 2, 3) (-2400.0, -2400.0, -2400.0)