【问题标题】:How to create X elements in a list based on a variable?如何根据变量在列表中创建 X 元素?
【发布时间】:2019-06-27 10:28:24
【问题描述】:

我正在创建一种复利计算器,基本上希望 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]

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

【问题讨论】:

  • #所以我发现了一些让我更接近解决方案的东西(我相信):totalyears = int(input('多少年?')) yearlist = [i for i in range (36)] print(yearlist[1:totalyears +1]) 输出:[1, 2, 3, 4, 5] yearlist = [i for i in range(36)] print(yearlist[1:totalyears +1] ) 输出:[1, 2, 3, 4, 5] #现在我需要能够更改文件中这些元素的名称,以及能够为每个元素分配一个唯一变量。任何想法如何解决这个问题?

标签: python python-3.x list variables


【解决方案1】:

这些方面的东西可以完成这项工作:

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

【讨论】:

  • 非常感谢,必须对此进行一些试验,看看我是否可以让您的代码为我工作。还将确保查找列表理解。
  • 真的很抱歉,但没有让这个工作。我想我必须更多地研究这个才能理解。
  • 你可以在这里试试:colab.research.google.com/drive/…
  • 非常感谢,我在那里进一步评论!
猜你喜欢
  • 2021-06-03
  • 1970-01-01
  • 1970-01-01
  • 2022-11-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-08-14
  • 2021-09-22
相关资源
最近更新 更多