On Dec 4, 3:41 pm, Mensanator <mensana...@aol.com> wrote: > On Dec 4, 2:22 pm, Joel Davis <callmeclaud...@gmail.com> wrote: > > > Is it possible to run a list comprehension over a certain portion of > > the list? My goals is to be able to run the comprehension on the > > innermost elements of the list, but leaving the outermost intact. > > Something like this? > > >>> a > > [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] > > >>> b = [i for i in a[0:5]] > >>> b > [0, 1, 2, 3, 4] > >>> c = [i for i in a if i%2==0] > >>> c > [0, 2, 4, 6, 8] > >
Yes, sort of like that but Hansen's code is actually exactly what I was getting at, not sure why he deleted it: >>> a = range(100) >>> a[2:-2] = [str(x) for x in a[2:-2]] >>> a [0, 1, '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12', '13', '14', '15', '16', '17', '18', '19', '20', '21', '22', '23', '24', '25', '26', '27', '28', '29', '30', '31', '32', '33', '34', '35', '36', '37', '38', '39', '40', '41', '42', '43', '44', '45', '46', '47', '48', '49', '50', '51', '52', '53', '54', '55', '56', '57', '58', '59', '60', '61', '62', '63', '64', '65', '66', '67', '68', '69', '70', '71', '72', '73', '74', '75', '76', '77', '78', '79', '80', '81', '82', '83', '84', '85', '86', '87', '88', '89', '90', '91', '92', '93', '94', '95', '96', '97', 98, 99] -- http://mail.python.org/mailman/listinfo/python-list