gpt4 book ai didi

python - 如何在 Python 中为整个(或部分)列表分配一个值?

转载 作者:行者123 更新时间:2023-12-05 09:24:17 25 4
gpt4 key购买 nike

我有 List = [0, 1, 2, 3] 我想给它们分配一个数字,比如 5: List = [5, 5, 5, 5 ]。我知道我可以轻松地执行 List = [5] * 4。但我也希望能够将 6 分配给最后 3 个元素。

List = [5, 5, 5, 5]

YourAnswer(List, 6, 1, 3)

>> [5, 6, 6, 6]

其中 YourAnswer 是一个函数。

任何类似的东西都会有所帮助。最好避免 for 循环。但如果没有已知的可能性,请告诉我。

最佳答案

实际上你可以使用切片分配机制来分配到列表的一部分。

>>> some_list = [0, 1, 2, 3]
>>> some_list[:1] = [5]*1
>>> some_list[1:] = [6]*3
>>> some_list
[5, 6, 6, 6]

如果您要更新同一个列表,这很有用,但如果您想创建一个新列表,您可以简单地根据您的条件通过串联创建一个新列表

>>> [5]*1 + [6]*3
[5, 6, 6, 6]

你可以把它包装成一个函数

>>> def YourAnswer(lst, repl, index, size):
lst[index:index + size] = [repl] * size


>>> some_list = [0, 1, 2, 3]
>>> YourAnswer(some_list, 6, 1, 3)
>>> some_list
[0, 6, 6, 6]

关于python - 如何在 Python 中为整个(或部分)列表分配一个值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14150993/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com