所以我得到了这本字典,它的键是名称,它有三个元组:在三元组中,一个股票名称,交易的股票数量(int)和每股的价格(int)。你知道吗
new_dict = {
'Carl': [('Intel', 30, 40), ('Dell' , 20, 50), ('Intel',-10, 60),
('Apple', 20, 55)],
'Barb': [('Intel', 20, 40), ('Intel',-10, 45), ('IBM', 40, 30),
('Intel',-10, 35)],
'Alan': [('Intel', 20, 10), ('Dell', 10, 50), ('Apple', 80, 80), ('Dell',
-10, 55)],
'Dawn': [('Apple', 40, 80), ('Apple' ,40, 85), ('Apple',-40, 90)]
}
我正在创建一个函数,返回一个由两个元组组成的列表,结果是(client)和他们卖出(负num)或买入(正num)股票总数的绝对值。 -列表根据其交易的股票数量之和按降序排列;如果两个客户交易相同数量的股票,则必须按字母顺序递增。
对于新字典,输出应该是[('Alan',120),('Dawn',120),('Barb',80),('Carl',80)]
以下是我所做的:
def most_active_clients(database :{str: (str, int, int)}) -> list:
result = []
t = list()
for key,val in database.items():
for x in val:
t.append((key,abs(x[1])))
for item in t:
print(item)
我似乎不知道如何求出所有x[1]的和,然后对其排序。有人能帮我吗?你知道吗
分两步进行:
代码如下:
输出如预期:
[('Alan', 120), ('Dawn', 120), ('Barb', 80), ('Carl', 80)]
使用排序方法
我已经用我觉得简单的方式实现了。你知道吗
你需要的是
这是获得结果的一种方法:
相关问题 更多 >
编程相关推荐