Python中的单行循环只能用于构建列表吗?(即列表推导),还是可以用于更通用的计算?
例如,我知道 Python 中的列表推导(~单行循环),例如
my_list = [ 2*i for i in range(10)]
也可以用多行循环构建:
my_list = []
for i in range(10):
my_list.append(2*i)
但是我们总能把一般的多线循环转换成单线循环吗?
例如,假设我们有以下多行 for 循环:
my_array = np.ones(10*10)
for x in range(10):
my_array[x,:] = 0
我们可以将其转换为单行循环吗?更普遍:
Q1。这两种形式在功能上是等价的吗?(即它们支持相同的操作/操作集)
Q2。我想我之前读过 Python 中的单行循环是矢量化的。这是真的?这是否意味着它们可以比多行循环更快地迭代?