v should have ['3','4','1'] sorry if I made it confusing. On Sat, Jan 3, 2009 at 2:43 AM, alex goretoy <aleksandr.gore...@gmail.com>wrote:
> rather, how do I suppress the output of the list with all None in it? > > >>> l=[['3'], ['0', '4'], ['0', '1'], ['0']] > >>> v=[] > >>> [[v.append(j)for j in i if j != "0"] for i in l] > [[None], [None], [None], []] > >>> v > ['39', '32', '1'] > > >>> > > On Sat, Jan 3, 2009 at 2:38 AM, alex goretoy > <aleksandr.gore...@gmail.com>wrote: > >> Thank you Steve and MRAB, >> >> This is what I was looking for: >> >> [[v.append(j) for j in i if j != 0] for i in self.value] >> >> the value is actually stored as a string so I would need to check if it is >> "0". I do have one more question about list comprehension though. After >> doing this I get an unwanted list of None how do I make it disappear or not >> return this list. Would I have to be modifying it in place for this to >> happen? Wouldn't modifying it in place potentially overwrite some other >> values? I just don't want it to return [[None], [None, None], [None, None], >> [None]] >> >> You guys rock, thanks for helping me learn python. >> >> >> On Sat, Jan 3, 2009 at 2:09 AM, Steve Holden <st...@holdenweb.com> wrote: >> >>> alex goretoy wrote: >>> > Hello All, >>> > >>> > I'm doing this in my code >>> > >>> > [[v.append(j) for j in i] for i in self.value] >>> > >>> > if works and all, but I need to add a if statement in the mix. Can't >>> > seem to remember the syntax to do so and everything I've tried seems to >>> > fail. How do I add a check to see if j is not int("0") then append to v >>> > list? Thank you in advance. -A >>> >>> Who, tiger. It "works" for a value of "works" that involves creating two >>> lists. One is the one you want, referenced by v, and the other is the >>> value if the list comprehension, which will be a list full of lists of >>> all the None values returned by those append() calls. But I presume you >>> are throwing that second list away ... >>> >>> See, a list comprehension is intended to create a list. So what you >>> should have used (assuming v was the empty list before you started) was >>> >>> v = [[j for j in i] for i in self.value] >>> >>> Further, when you say 'j is not int("0")', do you actually mean that a >>> is not in integer with the value 0? Assuming you do then what you need is >>> >>> v = [[j for j in i if not j] for i in self.value] >>> >>> or, more pedantically >>> >>> v = [[j for j in i if j==0] for i in self.value] >>> >>> regards >>> Steve >>> -- >>> Steve Holden +1 571 484 6266 +1 800 494 3119 >>> Holden Web LLC http://www.holdenweb.com/ >>> >>> -- >>> http://mail.python.org/mailman/listinfo/python-list >>> >> >> >> >> -- >> А-Б-В-Г-Д-Е-Ё-Ж-З-И-Й-К-Л-М-Н-О-П-Р-С-Т-У-Ф-Х-Ц-Ч-Ш-Щ-Ъ-Ы-Ь-Э-Ю-Я >> а-б-в-г-д-е-ё-ж-з-и-й-к-л-м-н-о-п-р-с-т-у-ф-х-ц-ч-ш-щ-ъ-ы-ь-э-ю-я >> > > > > -- > А-Б-В-Г-Д-Е-Ё-Ж-З-И-Й-К-Л-М-Н-О-П-Р-С-Т-У-Ф-Х-Ц-Ч-Ш-Щ-Ъ-Ы-Ь-Э-Ю-Я > а-б-в-г-д-е-ё-ж-з-и-й-к-л-м-н-о-п-р-с-т-у-ф-х-ц-ч-ш-щ-ъ-ы-ь-э-ю-я > -- А-Б-В-Г-Д-Е-Ё-Ж-З-И-Й-К-Л-М-Н-О-П-Р-С-Т-У-Ф-Х-Ц-Ч-Ш-Щ-Ъ-Ы-Ь-Э-Ю-Я а-б-в-г-д-е-ё-ж-з-и-й-к-л-м-н-о-п-р-с-т-у-ф-х-ц-ч-ш-щ-ъ-ы-ь-э-ю-я
-- http://mail.python.org/mailman/listinfo/python-list