【问题标题】:How do I make a list of the same variable with different values? python如何制作具有不同值的相同变量的列表? Python
【发布时间】:2021-03-14 12:57:28
【问题描述】:

我是一个完全的新手,这可能是一个愚蠢的问题: 我需要列出您可以在此处看到的值。 到目前为止,我很可能需要一个使用 append 的 for 循环,但我无法真正掌握在我的情况下如何做到这一点。 我想从最小值 23 开始,然后递增 2,直到达到最大值 31 而且我需要能够更改 for 循环中的值以供将来更改 每次都必须添加+3 如果有人可以帮助我,那就太好了。

arrivalDistance = meanSpeed * (23 + 3)
arrivalDistance2 = meanSpeed * (25 + 3)
arrivalDistance3 = meanSpeed * (27 + 3)
arrivalDistance4 = meanSpeed * (29 + 3)
arrivalDistance5 = meanSpeed * (31 + 3)

【问题讨论】:

    标签: python list append


    【解决方案1】:
    arrivalDistance = [meanSpeed * (23+i +3) for i in range(0, 9, 2)]
    

    这将创建一个名为 arrivalDistance 的列表,该列表将在范围 [0, 9) 上循环,步长为 2。因此它将为您获取数字 0, 2, 4, 6, 8 并将它们添加到您的值中。这称为列表理解,让您避免使用for loop,因为它已经是一个。

    【讨论】:

    • 我认为这就是你所说的非常优雅的解决方案。非常感谢!
    • @NyamEnkhbaatar 不客气。如果我帮助了你,请点击投票柜台下方的tick 标记,这对我有很大帮助:)
    • 啊好吧我做到了:)
    【解决方案2】:

    不用在每个变量上计算+ 3+ 23,您可以使用循环,直接将数字添加到循环的参数中:

    a = 23 + 3
    b = 5
    step = 2
    arrivalDistance = [meanSpeed * i for i in range(a, a + b * step, step)]
    

    所以a是起始值,b是附加值,c是变量个数,step是增量值。

    【讨论】:

    • 结束值 a + b * 步骤是否也需要 +1 才能使语法正确?或者我错过了什么?
    • @NyamEnkhbaatar 哦,3 在定义时已经添加到 a 中。虽然你有道理;最好不要硬编码。我会编辑它。
    • @NyamEnkhbaatar 哦,再次抱歉,我才意识到目前的语法是正确的^^"
    【解决方案3】:
    arrivalDistanceList = []
    
    for i in range(23,32,2):
        arrivalDistanceList.append(meanSpeed * (i + 3))
    

    for循环的语法

    for iterator in range(startValue, endValue + 1, increment)
    

    第三个参数是按给定值递增序列的增量。

    希望你得到答案

    【讨论】:

    • 感谢您这么快看到不同的解决方案真是太棒了!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多