【问题标题】:(PYTHON) How to ALTOGETHER Add every Nth term of elements inside list to produce new list?(PYTHON)如何在列表中添加每第 N 个元素以生成新列表?
【发布时间】:2022-10-31 15:26:12
【问题描述】:

假设我们有以下列表

[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18]

现在我想将每 3 个数字相加以提供 6 个列表的长度,

[6, 15, 24, 33, 42, 51]

我想在python中做到这一点......请帮忙! (我的问题措辞很奇怪吗,,?)

直到现在我试过

z = np.zeros(6)
p = 0
cc = 0
for i in range(len(that_list)):
    p += that_list[i]
    cc += 1
    if cc == 3:
       t = int((i+1)/3)
       z[t] = p
       cc = 0
       p = 0

它没有用....

【问题讨论】:

    标签: python python-3.x list arraylist jupyter-notebook


    【解决方案1】:

    考虑使用列表推导:

    >>> nums = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18]
    >>> [sum(nums[i:i+3]) for i in range(0, len(nums), 3)] 
    [6, 15, 24, 33, 42, 51]
    

    【讨论】:

      猜你喜欢
      • 2015-01-12
      • 2018-08-11
      • 1970-01-01
      • 2022-01-25
      • 1970-01-01
      • 2020-01-10
      • 2021-02-21
      • 2013-04-01
      • 1970-01-01
      相关资源
      最近更新 更多