【问题标题】:Add an offset to part of a list in Python?在 Python 中向列表的一部分添加偏移量?
【发布时间】:2013-09-11 21:53:26
【问题描述】:

我有一个a = [1, 2, 3, 4, 5] 列表,现在我希望将1 添加到从index 2 开始的每个元素,即a[2] + 1a[3] + 1a[4] + 1

那是我最后想要a = [1, 2, 4, 5, 6]

dong so最 Pythonic 的方式是什么?

【问题讨论】:

  • @aaronman 它应该跳过前两个元素

标签: python arrays list numpy scipy


【解决方案1】:
>>> a = [1, 2, 3, 4, 5]
>>> a[2:] = [x+1 for x in a[2:]]
>>> a
[1, 2, 4, 5, 6]

对于 numpy 数组:

>>> a = np.array([1,2,3,4,5])
>>> a[2:] += 1
>>> a
array([1, 2, 4, 5, 6])

【讨论】:

    【解决方案2】:
    for i in range(2, len(a)) :
        a[i] += 1
    

    【讨论】:

    • 如果你打算这样做,至少更新到位:a[i]+=1
    猜你喜欢
    • 2011-07-25
    • 1970-01-01
    • 2022-06-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-04
    • 2012-06-03
    相关资源
    最近更新 更多