Python 如何使块可重复?
我有一个函数,它获取一个名称列表,并读取其中确定的补丁号(n),我使用的是yield,我的问题是,当yield完成时,最后一个补丁的大小与其他补丁的大小不同。我想做的是向最后一个面片添加第一个面片中的一些元素(这样我就重复了),以便所有面片都具有相同的大小Python 如何使块可重复?,python,Python,我有一个函数,它获取一个名称列表,并读取其中确定的补丁号(n),我使用的是yield,我的问题是,当yield完成时,最后一个补丁的大小与其他补丁的大小不同。我想做的是向最后一个面片添加第一个面片中的一些元素(这样我就重复了),以便所有面片都具有相同的大小 first_names = ['Steve', 'Jane', 'Sara', 'Mary','Jack','Bob', 'Bily', 'Boni', 'Chris','Sori', 'Will', 'Won','Li'] def chu
first_names = ['Steve', 'Jane', 'Sara', 'Mary','Jack','Bob', 'Bily', 'Boni', 'Chris','Sori', 'Will', 'Won','Li']
def chunks(l, n):
# For item i in a range that is a length of l,
for i in range(0, len(l), n):
# Create an index range for l of n items:
yield l[i:i+n]
list(chunks(first_names, 5))
如果我们使用上面的调用,最后一个补丁将只有3个名称,我想做的是让它复制“steve”和“Jane”,并产生5个名称作为其他2个补丁。一种快速方法是在用于产量的列表末尾添加
n
项:
first_names = ['Steve', 'Jane', 'Sara', 'Mary','Jack','Bob', 'Bily', 'Boni', 'Chris','Sori', 'Will', 'Won','Li']
def chunks(l, n):
m = l + l[:n]
# For item i in a range that is a length of l,
for i in range(0, len(l), n):
# Create an index range for the longer m list of n items:
yield m[i:i+n]
print(list(chunks(first_names, 5)))
输出:
[['Steve', 'Jane', 'Sara', 'Mary', 'Jack'], ['Bob', 'Bily', 'Boni', 'Chris', 'Sori'], ['Will', 'Won', 'Li', 'Steve', 'Jane']]
一种快速方法是将
n
项添加到用于收益率的列表末尾:
first_names = ['Steve', 'Jane', 'Sara', 'Mary','Jack','Bob', 'Bily', 'Boni', 'Chris','Sori', 'Will', 'Won','Li']
def chunks(l, n):
m = l + l[:n]
# For item i in a range that is a length of l,
for i in range(0, len(l), n):
# Create an index range for the longer m list of n items:
yield m[i:i+n]
print(list(chunks(first_names, 5)))
输出:
[['Steve', 'Jane', 'Sara', 'Mary', 'Jack'], ['Bob', 'Bily', 'Boni', 'Chris', 'Sori'], ['Will', 'Won', 'Li', 'Steve', 'Jane']]
像这样的事情怎么样:
first_names = ['Steve', 'Jane', 'Sara', 'Mary','Jack','Bob', 'Bily', 'Boni', 'Chris','Sori', 'Will', 'Won','Li']
def chunks(l, n):
# For item i in a range that is a length of l,
for i in range(0, len(l), n):
# Create an index range for l of n items:
c = l[i:i+n]
if len(c) < n:
c += l[:(n - len(c))]
yield c
list(chunks(first_names, 5))
first_name=['Steve'、'Jane'、'Sara'、'Mary'、'Jack'、'Bob'、'Bily'、'Boni'、'Chris'、'Sori'、'Will'、'Won'、'Li']
def块(l,n):
#对于长度为l的范围内的项目i,
对于范围(0,len(l),n)内的i:
#为n个项目中的l个创建索引范围:
c=l[i:i+n]
如果len(c)
这样的东西怎么样:
first_names = ['Steve', 'Jane', 'Sara', 'Mary','Jack','Bob', 'Bily', 'Boni', 'Chris','Sori', 'Will', 'Won','Li']
def chunks(l, n):
# For item i in a range that is a length of l,
for i in range(0, len(l), n):
# Create an index range for l of n items:
c = l[i:i+n]
if len(c) < n:
c += l[:(n - len(c))]
yield c
list(chunks(first_names, 5))
first_name=['Steve'、'Jane'、'Sara'、'Mary'、'Jack'、'Bob'、'Bily'、'Boni'、'Chris'、'Sori'、'Will'、'Won'、'Li']
def块(l,n):
#对于长度为l的范围内的项目i,
对于范围(0,len(l),n)内的i:
#为n个项目中的l个创建索引范围:
c=l[i:i+n]
如果len(c)