我有一个正常工作的代码,但是它仅从中选择4个值entrada
。我希望能够为每个参数设置此金额。
def pdd(number, entrada):
for i, j, k, l, m in zip(entrada[:-1], entrada[1:], entrada[2:], entrada[3:], entrada[4:]):
if number in i:
print([j, k, l, m])
list_pad = [[1, 9], [1, 15], [1, 10], [1, 11], [1, 12], [1, 13], [1, 15], [1, 14], [1, 15], [1, 16], [1, 17], [1, 18]]
pdd(15, list_pad)
输出:
[[1, 10], [1, 11], [1, 12], [1, 13]]
[[1, 14], [1, 15], [1, 16], [1, 17]]
基本上,它将解析输入,在这种情况下,它是一个包含小列表的列表。然后,它分析输入,并通过标识具有number
参数传递的编号的项目(列表),将打印接下来的4个项目(列表)。这段代码已经完成了,但是我希望能够通过传递给函数的参数来设置数量(而不是4)。
但是,我不想选择4条记录,而是希望能够为每个参数设置数量。
例:
pdd(15, list_pad, 6)
并应离开:
[[1, 10], [1, 11], [1, 12], [1, 13], [1, 15], [1, 14]]
范例2:
pdd(15, list_pad, 2)
并应离开:
[[1, 10], [1, 11]]
[[1, 14], [1, 15]]
[[1, 16], [1, 17]]
这该怎么做?
您可以使用生成器表达式entrada
在的范围内进行迭代和切片n
,新参数指定输出记录的数量,并将其输出解压缩为zip
:
def pdd(number, entrada, n):
for i, *j in zip(entrada, *(entrada[i:] for i in range(1, n + 1))):
if number in i:
print(j)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句