I personally would the first option to be the case. But then vectors shouldn't be list-like but more generator like.
On 2019-02-02 09:22, Kirill Balunov wrote:
> сб, 2 февр. 2019 г. в 07:33, Steven D'Aprano <firstname.lastname@example.org
> I didn't say anything about a vector type.
> I agree you did not say. But since you started a new thread from the
> one where the vector type was a little discussed, it seemed to me that
> it is appropriate to mention it here. Sorry about that.
> > Therefore, it allows you to ensure that the method is present for
> > element in the vector. The first given example is what numpy is
> all about
> > and without some guarantee that L consists of homogeneous data it
> > make sense.
> Of course it makes sense. Even numpy supports inhomogeneous data:
> py> a = np.array([1, 'spam'])
> py> a
> array(['1', 'spam'],
> Yes, numpy, at some degree, supports heterogeneous arrays. But not in
> the way you brought it. Your example just shows homogeneous array of
> type `'|S4'`. In the same way as `np.array([1, 1.234])` will be
> homogeneous. Of course you can say - np.array([1, 'spam'],
> dtype='object'), but in this case it will also be homogeneous array, but
> of type `object`.
> Inhomogeneous data may rule out some optimizations, but that hardly
> means that it "doesn't make sense" to use it.
> I did not say that it "doesn't make sense". I only said that you should
> be lucky to call `..method()` on collections of heterogeneous data. And
> therefore, usually this kind of operations imply that you are working
> with a "homogeneous data". Unfortunately, built-in containers cannot
> provide such a guarantee without self-checking. Therefore, in my opinion
> that at the moment such an operator is not needed.
Here's a question: when you use a subscript on a vector, does it apply
to the vector itself, or its members?
For example, given:
>>> my_strings = Vector(['one', 'two', 'three'])
>>> my_strings[1 : ]
Vector(['ne', 'wo', 'hree'])
Python-ideas mailing list
Code of Conduct: http://python.org/psf/codeofconduct/