如何在基于变量的列表中创建X个元素?

时间:2019-06-27 10:28:24

标签: python-3.x list variables

我正在创建一种复利计算器,并且基本上希望python可以每年创建一个整洁的列表。我目前没有任何代码,但是我将尝试解释:

years = int(input('how many years?...')) # Lets say we use "3" as input

然后,我希望python创建一个包含与来自变量(年)的输入相等的元素的列表。我了解在这种情况下,我们必须创建1到x年之间的数字。

提供类似的东西,并且如果元素分成几行甚至更好:

list_years = [1 years of saving (x), 2 years of saving is (y), 3 year of saving is (z)]

我什至不确定这是否是实现我想要的最佳方法,但是无论哪种方式,我都对在学习过程中动态创建列表非常感兴趣。

更新:

所以我发现了一些可以使我更接近解决方案的地方(我相信):

totalyears = int(input('how many years?'))

yearlist = [i for i in range(36)]
print(yearlist[1:totalyears +1])

Output: [1, 2, 3, 4, 5]
yearlist = [i for i in range(36)]
print(yearlist[1:totalyears +1])

#Output: [1, 2, 3, 4, 5]

现在,我需要能够更改文件中那些元素的名称,以及能够为每个变量分配一个唯一的变量。任何想法如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

按以下方式进行工作:

def savings_per_year(whichyear):
    return whichyear * 2 # return with whatever function you choose

years = 3

list_years = [savings_per_year(eachyear) for eachyear in range(years)]

然后list_years将是:

[0, 2, 4]

建议查找list comprehension