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)):
答案 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)