FAQ
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.

Search Discussions

  • Stephen Hansen at Dec 4, 2009 at 8:40 pm

    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.
    Without seeing an example of what your list is, and what you want to turn it
    into, its sort of hard to be certain what it is you really want to do.

    Is 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]

    Where I converted to a string the "inner" elements with a list comprehension
    but left the outer ones alone?

    --S
    -------------- next part --------------
    An HTML attachment was scrubbed...
    URL: <http://mail.python.org/pipermail/python-list/attachments/20091204/0f791e88/attachment-0001.htm>
  • Mensanator at Dec 4, 2009 at 8:41 pm

    On Dec 4, 2:22?pm, Joel Davis 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]
    >>>
  • Joel Davis at Dec 4, 2009 at 10:11 pm

    On Dec 4, 3:41?pm, Mensanator wrote:
    On Dec 4, 2:22?pm, Joel Davis 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]
  • Stephen Hansen at Dec 4, 2009 at 10:21 pm

    On Fri, Dec 4, 2009 at 2:11 PM, Joel Davis wrote:

    Yes, sort of like that but Hansen's code is actually exactly what I
    was getting at, not sure why he deleted it:


    Huh? I deleted it?

    --S
    -------------- next part --------------
    An HTML attachment was scrubbed...
    URL: <http://mail.python.org/pipermail/python-list/attachments/20091204/7b0ab375/attachment.htm>

Related Discussions

Discussion Navigation
viewthread | post
Discussion Overview
grouppython-list @
categoriespython
postedDec 4, '09 at 8:22p
activeDec 4, '09 at 10:21p
posts5
users3
websitepython.org

People

Translate

site design / logo © 2022 Grokbase