有没有办法以更有吸引力的列表理解格式重写它?

Ave*_*350 -2 python

我这里的内容很难阅读,我想知道如何用更少的代码行来编写它。

lst = [-3,10.5,100]

def add_index(nums):
    lst2=[]
    add = 0
    for i in nums:
        add += 1
        lst2.append(i+add)
    return lst2
    
add_index(lst)
Run Code Online (Sandbox Code Playgroud)

Ry-*_*Ry- 10

对于循环的每次迭代,add包含一个从 1 开始的索引并i包含相应的列表项。\xe2\x80\x99s 是一个名为的内置 Python 函数enumerate,它从可迭代对象中生成每个项目及其索引作为(index, item)元组。

\n

与循环一起使用的示例:

\n
lst2 = []\nfor i, x in enumerate(nums, start=1):\n    lst2.append(x + i)\nreturn lst2\n
Run Code Online (Sandbox Code Playgroud)\n

这导致列表理解等效:

\n
def add_index(nums):\n    return [x + i for i, x in enumerate(nums, start=1)]\n
Run Code Online (Sandbox Code Playgroud)\n