On Sun, 10 Jan 2016 12:45 pm, Robert wrote: > Hi, > > I see below code snippet. The return line is not as the usual type. > > > > def make_cov(cov_type, n_comp, n_fea): > mincv = 0.1 > rand = np.random.random > return { > 'spherical': (mincv + mincv * np.dot(rand((n_components, 1)), > np.ones((1, n_features)))) ** > 2, > 'tied': (make_spd_matrix(n_features) > + mincv * np.eye(n_features)), > 'diag': (mincv + mincv * rand((n_components, n_features))) ** 2, > 'full': np.array([(make_spd_matrix(n_features) > + mincv * np.eye(n_features)) > for x in range(n_components)]) > }[cov_type] > > Specifically, could you explain the meaning of > > { > ... }[cov_type] > > to me?
It is a dictionary lookup. { ... } sets up a dictionary with keys 'spherical' 'tied' 'diag' 'full' then { ... }[cov_type] extracts one of the values depending on whether cov_type is 'spherical', 'tied', 'diag', or 'full'. -- Steven -- https://mail.python.org/mailman/listinfo/python-list