列出20个项目。我想创建一个新列表,而不是只包含每五个项目的最大值。
我有:
listA = [1,2,23,4,5,6,7,40,9,10,100,12,13,14,15,700,17,18,19,20]
for i in len(range(listA):
print i
如何使用Python从listB = [23, 40, 100, 700]
创建listA
?
答案 0 :(得分:1)
要获得5个元素,您可以使用listA[:5]
,listA[5:10]
等,listA[5*n:5*n+5]
listA = [1,2,23,4,5,6,7,40,9,10,100,12,13,14,15,700,17,18,19,20]
for i in range(0, len(listA), 5):
print(max(listA[i:i+5]))
或使用发电机
def chunk(lst, size):
for i in range(0, len(lst), size):
yield lst[i:i+size]
for x in chunk(listA, 5):
print(max(x))