Python中编写程序请用二维列表(或元组)存放年份及对应的收盘价(每行为一个小列表(或元组),各行构成一个大列表(或元组),计算该股票自2017年起每年的年收益率,将每年的年份和年收益率作为元素保存在列表中,遍历并输出该列表。 年收益率=(当年收盘价 – 上一年收盘价)/上一年收盘价。
时间: 2023-06-07 14:08:09 浏览: 147
好的,这是一个编程问题,可以回答。以下是用二维列表实现的 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中,你可以编写一个名为`odd_positions`的函数,它接受一个列表或元组作为输入,然后创建并返回一个新的列表,其中包含原序列中索引为奇数的元素。下面是一个简单的实现:
```python
def odd_positions(seq):
# 确保输入是序列类型
if not isinstance(seq, (list, tuple)):
raise ValueError("输入需要是列表或元组")
# 使用列表推导式,只选择索引为奇数的元素
return [seq[i] for i in range(len(seq)) if i % 2 != 0]
# 示例用法
numbers = [1, 2, 3, 4, 5]
result = odd_positions(numbers)
print(result) # 输出:[1, 3, 5]
strings = ('a', 'b', 'c', 'd')
string_result = odd_positions(strings)
print(string_result) # 输出:('a', 'c')
```
python)编写一个函数,找出传入的列表或元组的奇数位对应的元素,并返回一个新的列表。
在Python中,你可以编写一个名为`odd_index_elements`的函数,接受一个列表或元组作为输入,然后通过索引操作只选择奇数位置(从0开始计数)的元素并创建一个新的列表。以下是函数的一个实现示例:
```python
def odd_index_elements(lst):
# 检查输入是否为列表或元组
if not isinstance(lst, (list, tuple)):
raise TypeError("Input must be a list or a tuple.")
# 使用列表推导式,只取奇数索引的元素
return [lst[i] for i in range(len(lst)) if i % 2 != 0]
# 示例用法
input_list = [1, 2, 3, 4, 5]
result = odd_index_elements(input_list)
print(result) # 输出:[1, 3, 5]
# 元组同样适用
input_tuple = (6, 7, 8, 9, 10)
tuple_result = odd_index_elements(input_tuple)
print(tuple_result) # 输出:(6, 8)
```
阅读全文