slicing lists

Ian Kelly ian.g.kelly at gmail.com
Fri May 9 02:23:10 EDT 2008


On Wed, May 7, 2008 at 5:29 PM, Yves Dorfsman <yves at zioup.com> 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]
>
> 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)

Have a look at the itemgetter function from the operator module.

g = itemgetter( 0, *range(2, 6) )
p = file("/etc/passwd").readlines()
q = [ g( e.strip().split(':') ) for e in p ]



More information about the Python-list mailing list