vector = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
inserted_elements = [2, 2, 2, 2, 2]
output = []
#Pick two elements from vector and one element from inserted_elements and add it to output list
for idx in range(0,len(vector),2):
output.extend(vector[idx:idx+2] + [inserted_elements[int(idx/2)]])
print(output)
同样的事情,在列表理解将是
output = [ v for idx in range(0,len(vector),2) for v in vector[idx:idx+2] + [inserted_elements[int(idx/2)]]]
numpy数组步骤:
1。你知道吗
2。你知道吗
三。你知道吗
第四条。你知道吗
传统的for循环方法可能如下所示,从
vector
中选择2个元素,从inserted_elements
中选择1个元素,并生成output
列表同样的事情,在列表理解将是
输出将是
下面是一种基于^{} 的方法,它也适用于从一个列表插入到另一个列表的任意数量的元素。为此,我定义了一个生成器函数,它将从
l2
向l1
的每个i
项插入and元素:这是通过使用^{} 在每次迭代中从迭代器} 我们产生的项目与切片的iterable中的项目一样多,因此iterable将耗尽(这是
l1
生成多达i
项来实现的。使用^{for v in g: yield v
的快捷方式)。你知道吗最后,我们可以用
try
/expect
来包装yield
语句,以捕获StopIteration
警告。你知道吗让我们尝试一下提议的示例:
如果我们想每3项添加一项
l2
:相关问题 更多 >
编程相关推荐