elw*_*lwc 0 python list variable-assignment
我有List = [0, 1, 2, 3]
,我想给他们所有人分配一个数字,5 : List = [5, 5, 5, 5]
. 我知道我可以List = [5] * 4
轻松做到.但我也希望能够将最后3个元素分配给6.
List = [5, 5, 5, 5]
YourAnswer(List, 6, 1, 3)
>> [5, 6, 6, 6]
Run Code Online (Sandbox Code Playgroud)
哪里YourAnswer
是一个功能.
任何类似的东西都会有所帮助.更喜欢避免循环.但如果没有已知的可能性,请告诉我.
您实际上可以使用切片分配机制来分配列表的一部分.
>>> some_list = [0, 1, 2, 3]
>>> some_list[:1] = [5]*1
>>> some_list[1:] = [6]*3
>>> some_list
[5, 6, 6, 6]
Run Code Online (Sandbox Code Playgroud)
如果您要更新相同的列表,这是有益的,但是如果您想要创建新列表,您可以通过串联根据您的标准创建一个新列表
>>> [5]*1 + [6]*3
[5, 6, 6, 6]
Run Code Online (Sandbox Code Playgroud)
您可以将其包装到函数中
>>> 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]
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
2095 次 |
最近记录: |