Are all items in list the same?

MRAB python at mrabarnett.plus.com
Mon Jan 7 20:45:51 EST 2019


On 2019-01-08 00:47, ike at koeln.ccc.de wrote:
> You might do something like
> 
>      if len(a) == 0 or all(i == a[0] for i in a[1:]):
> 
You don't need to check the length of the list because if the list is 
empty, 'all' will return True anyway.

> This should be linear complexity and short circuiting and in general it
> doesn't get much better than this. Though I wouldn't bet there isn't a
> better (faster/clearer/more readable) solution.
> 
> On Mon, Jan 07, 2019 at 05:14:14PM -0700, Bob van der Poel wrote:
>> I need to see if all the items in my list are the same. I was using set()
>> for this, but that doesn't work if items are themselves lists. So, assuming
>> that a is a list of some things, the best I've been able to come up with it:
>> 
>>     if a.count( targ ) == len(a):
>> 
>> I'm somewhat afraid that this won't scale all that well. Am I missing
>> something?
> 




More information about the Python-list mailing list