Python中编写程序请用二维列表(或元组)存放年份及对应的收盘价(每行为一个小列表(或元组),各行构成一个大列表(或元组),计算该股票自2017年起每年的年收益率,将每年的年份和年收益率作为元素保存在列表中,遍历并输出该列表。 年收益率=(当年收盘价 – 上一年收盘价)/上一年收盘价。
时间: 2023-06-07 15:08:09 浏览: 129
好的,这是一个编程问题,可以回答。以下是用二维列表实现的 Python 代码:
```python
data = [
[2017, 100],
[2018, 120],
[2019, 130],
[2020, 110],
[2021, 140]
]
returns = []
for i in range(1, len(data)):
year_return = (data[i][1] - data[i-1][1]) / data[i-1][1]
returns.append([data[i][0], year_return])
print(returns)
```
输出的结果为:
```
[[2018, 0.2], [2019, 0.08333333333333333], [2020, -0.15384615384615385], [2021, 0.2727272727272727]]
```
其中每个小列表的第一个元素为年份,第二个元素为年收益率。
相关问题
python中怎么把二维列表中的列表元素转化为元组
可以通过循环遍历二维列表,将每个列表元素转化为元组,然后将元组添加到一个新的列表中。具体代码如下:
```python
# 二维列表
matrix = [['a', 'b', 'c'], ['d', 'e', 'f'], ['g', 'h', 'i']]
# 新建一个空列表,用于存放转化后的元组
tuple_list = []
# 遍历二维列表,将每个列表元素转化为元组,并添加到新列表中
for row in matrix:
tuple_row = tuple(row)
tuple_list.append(tuple_row)
# 打印转化后的元组列表
print(tuple_list)
```
输出:
```
[('a', 'b', 'c'), ('d', 'e', 'f'), ('g', 'h', 'i')]
```
另外,也可以使用列表推导式来实现上述功能:
```python
# 使用列表推导式将二维列表中的列表元素转化为元组
tuple_list = [tuple(row) for row in matrix]
# 打印转化后的元组列表
print(tuple_list)
```
输出:
```
[('a', 'b', 'c'), ('d', 'e', 'f'), ('g', 'h', 'i')]
```
python元组二维
引用中提到的元组是Python中的一种数据类型,它是不可变的,即元组创建后不能修改其元素。可以通过下标访问元组的元素,也可以通过切片操作获取元组的子集。元组可以通过tuple()函数创建,可以接受列表、字符串、其他序列类型等生成元组。
二维元组指的是元组中的元素也是元组的情况。例如,可以创建一个包含多个二维坐标的元组列表,每个二维坐标都是一个由两个值组成的元组。
示例代码如下:
```
coordinates = ((1, 2), (3, 4), (5, 6))
```
在上述代码中,`coordinates`是一个包含三个二维坐标的元组。可以通过下标访问特定的坐标,例如`coordinates`将返回`(1, 2)`。