Extract all words that begin with x

Stefan Behnel stefan_ml at behnel.de
Wed May 12 04:43:39 EDT 2010


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.

Stefan




More information about the Python-list mailing list