现有股票信息列表stock_list,元素为股票名称和收益率构成的元组。编写程序,利用map函数统计收益率大于0的股票;利用filter函数统计收益率小于0的股票
时间: 2024-03-20 08:41:18 浏览: 46
好的,我可以为您解答这个问题。
首先,我们需要定义一个股票列表:
```python
stock_list = [("Stock A", 0.05), ("Stock B", -0.02), ("Stock C", 0.1), ("Stock D", -0.01), ("Stock E", 0.03)]
```
接下来,我们可以使用`map()`函数和`lambda`表达式统计收益率大于0的股票:
```python
positive_stocks = list(map(lambda x: x[0], filter(lambda x: x[1] > 0, stock_list)))
print("股票收益率大于0的有:", positive_stocks)
```
输出结果为:
```
股票收益率大于0的有: ['Stock A', 'Stock C', 'Stock E']
```
最后,我们可以使用`filter()`函数和`lambda`表达式统计收益率小于0的股票:
```python
negative_stocks = list(map(lambda x: x[0], filter(lambda x: x[1] < 0, stock_list)))
print("股票收益率小于0的有:", negative_stocks)
```
输出结果为:
```
股票收益率小于0的有: ['Stock B', 'Stock D']
```
希望能够帮助到您!
相关问题
现有股票消息列表stock_list的元素为股票名称和收益率构成的元组,编写程序,利用pickle模块将列表储存到文件stock.pal中,并从stock.pkl读入数据后找出收益率最高的股票名称:stock _list=[[‘招商银行’,00124],[‘兴业银行’,0.0111],[‘中国银行’,-0.0078],[‘上海银行’,0.0033],[‘农业银行’,-0.0080],[‘建设银行’,-0.0086],[‘宁波银行’,0.0036],[‘浦发银行’,0.0000],[‘工商银行’,-0.0071]
可以使用以下代码将列表储存到文件stock.pkl中:
```python
import pickle
stock_list=[['招商银行',0.0124],['兴业银行',0.0111],['中国银行',-0.0078],['上海银行',0.0033],
['农业银行',-0.0080],['建设银行',-0.0086],['宁波银行',0.0036],['浦发银行',0.0000],
['工商银行',-0.0071]]
with open('stock.pkl', 'wb') as f:
pickle.dump(stock_list, f)
```
然后可以使用以下代码从stock.pkl读入数据并找出收益率最高的股票名称:
```python
import pickle
with open('stock.pkl', 'rb') as f:
stock_list = pickle.load(f)
max_profit = float('-inf')
max_stock = None
for stock in stock_list:
if stock[1] > max_profit:
max_profit = stock[1]
max_stock = stock[0]
print('收益率最高的股票名称是:', max_stock)
```
输出:
```
收益率最高的股票名称是: 招商银行
```
现有二维列表goods_list存储商品销售信息,元素为商品名称、单价和销售数量构成的元组。编写函数,以二维列表为参数,返回销售额最高和最低商品名称构成的元组。部分数据如下所示:goods_list=[('内存',100,600),('键盘’,120,210),('移动键盘',200,520),('鼠标',108,120)]
可以按照以下步骤编写函数:
1. 定义一个变量max_sale和一个变量min_sale分别用于记录销售额最高和最低的商品名称以及对应的销售额,初始值分别为None和float('inf')和float('-inf')。
2. 遍历二维列表goods_list中的每个元素,计算当前商品的销售额(单价乘以销售数量),并与max_sale和min_sale中的值进行比较,更新记录。
3. 返回一个元组,包含销售额最高和最低的商品名称。
下面是完整的代码实现:
```
def get_max_min_sale_goods(goods_list):
max_sale = min_sale = None
for goods in goods_list:
sale = goods[1] * goods[2] # 计算销售额
if max_sale is None or sale > max_sale[1]:
max_sale = (goods[0], sale)
if min_sale is None or sale < min_sale[1]:
min_sale = (goods[0], sale)
return (max_sale[0], min_sale[0])
```
使用示例:
```
goods_list = [('内存', 100, 600), ('键盘', 120, 210), ('移动键盘', 200, 520), ('鼠标', 108, 120)]
max_sale_goods, min_sale_goods = get_max_min_sale_goods(goods_list)
print('销售额最高的商品是:', max_sale_goods)
print('销售额最低的商品是:', min_sale_goods)
```
输出结果为:
```
销售额最高的商品是: 移动键盘
销售额最低的商品是: 鼠标
```
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)