[Tutor] Query: lists
Nitin Madhok
nmadhok at g.clemson.edu
Tue Aug 14 18:05:12 EDT 2018
Deepti,
What you’re seeing happens because you are making changes (words.remove(z)) to the list while you are iterating over it (for z in words). If your goal is to print the original words, removed words and original words without removed words, you could do something like this using sets:
words = ['bbb', 'ccc', 'axx', 'xzz', 'xaa']
def front_x(words):
# +++your code here+++
removed_words = []
for word in words:
if word.startswith('x'):
removed_words.append(word)
print 'word is', word
print 'original', sorted(words)
print 'new', sorted(removed_words)
print sorted(list(set(removed_words + words)))
If you also wanted to get the original words after removing the removed_words, you could print them like this:
print 'original - new', list(set(words) - set(removed_words))
Or you could even use list comprehension like this:
print 'original - new', [word for word in words if word not in removed_words]
--
Thanks,
Nitin Madhok
Clemson University
CONFIDENTIALITY NOTICE
This e-mail, and any attachments thereto, is intended only for use by the addressee(s) named herein and may contain privileged and/or confidential information. If you are not the intended recipient of this e-mail, any dissemination, distribution or copying of this e-mail, and any attachments thereto, is strictly prohibited. If you have received this e-mail in error, please immediately notify the sender by e-mail or telephone and permanently delete all copies of this e-mail and any attachments.
> On Aug 14, 2018, at 4:11 AM, Deepti K <kdeepti2013 at gmail.com> wrote:
>
> when I pass ['bbb', 'ccc', 'axx', 'xzz', 'xaa'] as words to the below
> function, it picks up only 'xzz' and not 'xaa'
>
> def front_x(words):
> # +++your code here+++
> a = []
> b = []
> for z in words:
> if z.startswith('x'):
> words.remove(z)
> b.append(z)
> print 'z is', z
> print 'original', sorted(words)
> print 'new', sorted(b)
> print sorted(b) + sorted(words)
>
> Thanks,
> Deepti
> _______________________________________________
> Tutor maillist - Tutor at python.org
> To unsubscribe or change subscription options:
> https://mail.python.org/mailman/listinfo/tutor
More information about the Tutor
mailing list