2024-03-28 20:18:34 发布
网友
lst=[201, 303, 210, 407, 213, 313] lst2=[302,304,404] value=4 for j in range(0,len(lst),-1): if len(lst)>=value: lst2.append(lst[j])
我试图将“lst”中的最后4个元素附加到“lst2”,它是4,因为这就是我分配给value的元素。然而,清单上什么都没有改变?你知道吗
value
^{}的语法是range(start, stop, step)。因此,在range(0, len(lst), -1)上迭代将在0上迭代,因为您不能将0降到一个正数。你知道吗
range(start, stop, step)
range(0, len(lst), -1)
0
这是可行的,注意我们必须减去1来说明0索引:
for j in range(len(lst)-1, len(lst)-1-value, -1): lst2.append(lst[j]) print(lst2) [302, 304, 404, 313, 213, 407, 210]
这里的range对象有点复杂。注意,负范围和负列表索引工作正常,可以使用range(-1, -value-1, -1)。你知道吗
range
range(-1, -value-1, -1)
使用Python,这里根本不需要在范围上循环。相反,可以使用列表切片和^{}迭代值本身,而不是索引:
for j in reversed(lst[-value:]): lst2.append(j)
当然,这里不需要手动循环,您可以通过+=扩展:
+=
lst2 += reversed(lst[-value:])
如果您也需要从lst中删除这些项,您可以通过切片来执行此操作:
lst
lst = lst[:-value]
通过访问列表中的元素,您可以通过切片来完成
lst=[201, 303, 210, 407, 213, 313] lst2=[302,304,404] lst2.append(lst[2:]) print(lst2)
试试这个:
lst=[201, 303, 210, 407, 213, 313] lst2=[302,304,404] value=4 for i in lst[-4:]: lst2.append(i) lst.remove(i)
输出:
[201, 303] [302, 304, 404, 210, 407, 213, 313]
^{} 的语法是
range(start, stop, step)
。因此,在range(0, len(lst), -1)
上迭代将在0
上迭代,因为您不能将0
降到一个正数。你知道吗这是可行的,注意我们必须减去1来说明0索引:
这里的
range
对象有点复杂。注意,负范围和负列表索引工作正常,可以使用range(-1, -value-1, -1)
。你知道吗使用Python,这里根本不需要在范围上循环。相反,可以使用列表切片和^{} 迭代值本身,而不是索引:
当然,这里不需要手动循环,您可以通过
+=
扩展:如果您也需要从
lst
中删除这些项,您可以通过切片来执行此操作:通过访问列表中的元素,您可以通过切片来完成
试试这个:
输出:
相关问题 更多 >
编程相关推荐