如何从嵌套股价列表中获取三只最高股价对应的股票代码?
获取三只最高股价对应的股票代码
你的代码目前仅提取并排序了股价数值,但未将股价与对应股票代码绑定,因此无法直接获取目标代码。可通过以下步骤修改实现需求:
- 同时保存股票代码与其对应的最高价
- 按最高价降序排序绑定后的列表
- 提取排序后前三个元素的股票代码
修改后的完整代码:
stocks=['AMZN','CACC','EQIX','GOOG','ORLY','ULTA'] prices=[[100,120,125,90],[80,90,99,78],[60,90,56,16],[120,137,190,150],[30,40,80,140],[45,86,36,89]] # 遍历配对的股票代码与价格列表,计算每只股票的最高价并保存为(最高价, 股票代码)元组 stock_max_price = [] for code, price_list in zip(stocks, prices): max_p = max(price_list) stock_max_price.append((max_p, code)) # 按最高价降序排序 stock_max_price_sorted = sorted(stock_max_price, key=lambda x: x[0], reverse=True) # 提取前三个股票代码 top_3_codes = [item[1] for item in stock_max_price_sorted[:3]] print("三只最高股价对应的股票代码:", top_3_codes)
代码说明:
- 直接用
zip(stocks, prices)遍历配对数据,无需提前转成列表,写法更简洁 - 将
(最高价, 股票代码)存入列表,让排序逻辑可直接基于最高价执行 sorted函数通过key=lambda x: x[0]指定按元组第一个元素(最高价)排序,reverse=True实现降序排列- 用列表推导式快速提取前三个元素的股票代码
运行结果:三只最高股价对应的股票代码: ['GOOG', 'ORLY', 'AMZN'],对应最高价分别为190、140、125。
内容的提问来源于stack exchange,提问作者Kaleab Woldemariam
相关产品推荐
相关产品推荐

