On May 9, 1:23 am, "Ian Kelly" <[EMAIL PROTECTED]> wrote:
> On Wed, May 7, 2008 at 5:29 PM, Yves Dorfsman <[EMAIL PROTECTED]> 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 ]The only thing is, is there is another natural meaning to [a,b:c]. Counting grids on the diagonals, the rational set is well defined: 0: 0, 0 1: 1, 0 2: 0, 1 3: 2, 0 4: 1, 1 5: 0, 2 6: 3, 0 7: 2, 1 ... Thencefore ( 2, 0 ) : ( 3, 0 ) is well defined. Thencefore, a,b:c,d is not; x[a,b:c,d]= x[a]+ x[b:c]+ x[d]. -- http://mail.python.org/mailman/listinfo/python-list
