Extract all words that begin with x

superpollo utente at esempio.net
Wed May 12 04:48:00 EDT 2010


Stefan Behnel ha scritto:
> superpollo, 11.05.2010 17:03:
>> Aahz ha scritto:
>>> In article <mailman.11.1273548189.32709.python-list at python.org>,
>>> Terry Reedy <tjreedy at udel.edu> wrote:
>>>> On 5/10/2010 5:35 AM, James Mills wrote:
>>>>> On Mon, May 10, 2010 at 6:50 PM, Xavier Ho<contact at xavierho.com> 
>>>>> wrote:
>>>>>> Have I missed something, or wouldn't this work just as well:
>>>>>>
>>>>>>>>> list_of_strings = ['2', 'awes', '3465sdg', 'dbsdf', 'asdgas']
>>>>>>>>> [word for word in list_of_strings if word[0] == 'a']
>>>>>> ['awes', 'asdgas']
>>>>> I would do this for completeness (just in case):
>>>>>
>>>>>>>>> [word for word in list_of_strings if word and word[0] == 'a']
>>>>> Just guards against empty strings which may or may not be in the list.
>>>> ... word[0:1] does the same thing. All Python programmers should
>>>> learn to use slicing to extract a char from a string that might be
>>>> empty.
>>>> The method call of .startswith() will be slower, I am sure.
>>>
>>> And if it is slower, so what? Using startswith() makes for faster
>>> reading of the code for me, and I'm sure I'm not the only one.
>>
>> also, what if the OP intended "words that begin with x" with x a string
>> (as opposed to a single character) ?
> 
>     word[:len(x)] == x
> 
> will work in that case.

yes ... thanks.



More information about the Python-list mailing list