对从函数返回的可迭代项元组进行迭代


ci0 = np.random.randint(10,size=(15,))
uq,ix = np.unique(ci0, return_index=True):
for i,u in zip(uq,ix):
  print i,u

有没有一种很好的蟒蛇方式可以在一行中做到这一点?具体来说,迭代np.unique的结果(作为元组返回(。

似乎应该有,但我能想到的唯一解决方案是这个,我认为这个太模糊了,不太优雅:

for i,u in np.transpose(np.unique(ci0, return_index=True)):

您可以使用参数拆包(splatting(:

ci0 = np.random.randint(10,size=(15,))
for i,u in zip(*np.unique(ci0, return_index=True)):
  print i,u

为了更好地解释,请考虑以下代码:

func(*(1, 2, 3))

它相当于:

func(1, 2, 3)

最新更新