words = ['apple', 'orange', 'oof', 'banana', 'apple', 'cherries', 'tomato']
n = ['2', '1', '4']
start = 0
out = []
for num in n:
num = int(num)
out.append(words[start:start+num])
start += num
words = ['apple', 'orange', 'oof', 'banana', 'apple', 'cherries', 'tomato']
n = ['2', '1', '4']
new_words = iter(words)
result = [[next(new_words) for _ in range(int(i))] for i in n]
output = []
count = 0
for i in range(len(n)):
chunk_size = int(n[i])
chunk = []
for j in range(chunk_size):
index = (i * j) + j
chunk.append(words[count])
count = count + 1
output.append(chunk)
print(output)
简单的
O(n)
策略:您可以将列表理解与
iter
和next
一起使用:输出:
另一个答案是:
相关问题 更多 >
编程相关推荐