迭代从函数返回的迭代元组

时间:2014-04-23 22:06:36

标签: python numpy

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

有一种不错的pythonic方法可以在一行中完成吗?具体来说,迭代np.unique的结果(作为元组返回)。

似乎应该有,但我能想到的唯一解决方案就是这个,我认为它太过于模糊不清:

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

1 个答案:

答案 0 :(得分:2)

您可以使用argument unpacking(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)