【问题标题】:How to subtract a limited number of numbers in a list in python [closed]如何在python中的列表中减去有限数量的数字[关闭]
【发布时间】:2021-07-20 20:23:34
【问题描述】:

我试图从包含 7 个数字的列表中的前 N ​​个数字中减去 1。 (N 是列表中的第一个数字)

list = (5, [19, 17, 14, 12, 12, 10, 8])

目标是从前 5 个数字中减去 1,这样我的输出看起来像

[18, 16, 13, 11, 11, 10, 8]

【问题讨论】:

标签: python list subtraction


【解决方案1】:

我真的不确定你想用那里的第一行代码做什么......

我相信你想要做的是:

example_list = [19, 17, 14, 12, 12, 10, 8]

N = 5

for i in range(0, N):
    example_list[i] = example_list[i] - 1

print(example_list)

【讨论】:

    【解决方案2】:

    将您的列表分成两部分。第一部分减去 1 并附加第二部分:

    t = (5, [19, 17, 14, 12, 12, 10, 8])
    N = t[0]  # <- 5
    l = t[1]  # <- [19, 17, 14, 12, 12, 10, 8]
    
    >>> [i - 1 for i in l[:N]] + l[N:]
    [18, 16, 13, 11, 11, 10, 8]
    

    【讨论】:

      【解决方案3】:

      好的试试看:

      lst = [19, 17, 14, 12, 12, 10, 8] # list
      
      temp = lst[:5] # select from start to 5 - 1 (5 first)
      
      temp = list( # MapObject to list
          map(
              lambda i: i - 1, # 1 -> 1 - 1
              temp
          )
      )
      
      lst[:5] = temp
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-03-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多