slicing lists
Ivan Illarionov
ivan.illarionov at gmail.com
Wed May 7 19:58:43 EDT 2008
On Wed, 07 May 2008 23:46:33 +0000, Ivan Illarionov wrote:
> On Wed, 07 May 2008 23:29:27 +0000, Yves Dorfsman wrote:
>
>> Is there a way to do:
>> x = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
>> x[0,2:6]
>>
>> That would return:
>> [0, 3, 4, 5, 6]
>
> IMHO this notation is confusing.
>
> What's wrong with:
> [0]+x[2:6]
>
>> I am surprised this notation is not supported, it seems intuitive. A
>> concrete example of the sort of thing I want to do:
>>
>> p = file('/etc/passwd').readlines()
>> q = [ e.strip().split(':')[0,2:] for e in p ]
>>
>> (getting rid of the password / x field)
>
> This works and is clearer:
> [[0] + e.strip().split(':')[2:] for e in open('/etc/passwd')]
or maybe you wanted to do this:
>>> [e.split(':')[0] for e in open('/etc/passwd')]
['root', 'daemon', 'bin', 'sys', 'sync', ...]
What are you trying to get from /etc/passwd?
--
Ivan
More information about the Python-list
mailing list