akr*_*ich 0 python iteration collections list-comprehension list
输入数据:[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
输出数据:[1, 2, 6, 4, 5, 12, 7, 8, 18, 10]
我读了很多答案,建议在其中使用包含第一个元素的切片符号。但就我而言,我应该将列表的每个第3个元素都包含在内。
有可能提高我的认识吗?
for index in range(len(data)):
if (index + 1) % 3 == 0:
data[index] = data[index] * 2
Run Code Online (Sandbox Code Playgroud)
是的,您可以使用切片符号来实现:
data[2::3] = [x*2 for x in data[2::3]]
Run Code Online (Sandbox Code Playgroud)
该data[2::3]
装置的每个第三元件开始于元素索引2(即第三元素)。您也可以重新分配给切片,以使用这种非常简洁的语法。