从字典中的每个列表中提取第一个值

Extract first value from each list in a dictionary

我有这本从函数返回的字典:

{'Revenue':TotalRevExInt, 'Expenses':Expenses, 'IntExpense':NetIntExp, 'Depr&Amort':DeprAndAmort}

每一项都是 10 个数字的列表,例如

Expenses = [1,2,3,4,5,6,7,8,9,10]

我很难尝试从字典中的每个列表中提取第一个数字,所以输出基本上是 [1,1,1,1]。我环顾四周,但似乎找不到正确的答案。有谁知道解决这个问题的最佳方法?干杯。

你可以使用 .values() 并且有这样的东西

ans = []
for i in Expenses.values():
    ans.append(i[0])

要提取每个列表的第一个值,您可以使用 list comprehension 迭代字典值,然后对每个列表使用索引来访问第一个元素。当然,这是假设输出的顺序可能无关紧要:

[list_of_values[0] for list_of_values in my_dict.values()]

注意: 从 Python 3.7 开始,您应该能够假设您的 dict 实例的行为类似于 OrderedDict,但它仍然不广泛建议假设此 属性.