Skip to main content
 首页 » 编程设计

python之如何用列表值清除和替换双端队列的值

2025年05月04日23dflying

假设我有一个包含六个项目的列表

app = [6, 4, 6, 22, 255, 33] 

但我想将这些数字传递给一个参数——但一次只能传递 3 个数字

我该怎么做?

现在我正在使用具有最大限制的双端队列,但我不知道如何用下一组交换值。

请您参考如下方法:

循环解决方案:

app = [6, 4, 6, 22, 255, 33] 
 
for i in range(0, len(app), 3): 
   print(app[i], app[i+1], app[i+2]) 

zip 解决方案:

app = [6, 4, 6, 22, 255, 33] 
 
for (i, j, q) in zip(app[::3], app[1::3], app[2::3]): 
    print(i, j, q) 

更通用的解决方案。 石斑鱼 来自 itertools recipes :

from itertools import izip_longest 
 
app = [1, 2, 3, 4, 5, 6, 7, 9, 10, 11, 12, 13, 14] 
 
def grouper(iterable, n, fillvalue=None): 
    args = [iter(iterable)] * n 
    return izip_longest(fillvalue=fillvalue, *args) 
 
 
for i, j, q, r in grouper(app, 4): 
    print(i, j, q, r)