python list pattern matching?
Terry Reedy
tjreedy at udel.edu
Thu May 28 18:57:42 EDT 2009
guthrie wrote:
> I want to do a functional like pattern match to get teh first two
> elements, and then the rest of an array return value.
>
> For example, assume that perms(x) returns a list of values, and I want
> to do this:
> seq=perms(x)
>
> a = seq[0]
> b = seq[1]
> rest = seq[2:]
> Of course I can shorten to:
> [a,b] = seq[0:2]
> rest = seq[2:]
>
> Can I find use some notation to do this?
> [a,b,more] = perms(x)
> or conceptually:
> [a,b,more..] = perms(x)
>>> a,b,*rest = list(range(10))
>>> a,b,rest
(0, 1, [2, 3, 4, 5, 6, 7, 8, 9])
>>> a,*rest,b = 'abcdefgh'
>>> a,rest,b
('a', ['b', 'c', 'd', 'e', 'f', 'g'], 'h')
More information about the Python-list
mailing list