Attachment 'newlist.py'

Download

   1 #!/usr/bin/env python
   2 # coding: utf-8
   3 '''
   4 Определить класс newlist на базе list, ктоорый бы поддерживал:
   5     * ф-цию mul(n), выдающую исходный список с элементами *n
   6     * ф-цию sub(l), выдающую исходный список без содержимого списка l
   7 '''
   8 
   9 class newlist(list):
  10   def mul(self, n):
  11     return newlist([i*n for i in self])
  12   def sub(self, l):
  13     'Удаляет все элементы l из self'
  14     return newlist([i for i in self if i not in l])
  15   def subn(self, l):
  16     'Удаляет элементы l из self с учётом их количества в l'
  17     ll,s=l[:],self[:]
  18     for i in self:
  19       if i in ll:
  20 	ll.remove(i)
  21 	s.remove(i)
  22     return s
  23 
  24 a,b=newlist(['Z',66,[1,2]]),newlist(range(5)*2)
  25 print a,a.mul(2)
  26 print b,b.sub([1,3,3,4,4,4,5])
  27 print b,b.subn([1,3,3,4,4,4,5])

Attached Files

To refer to attachments on a page, use attachment:filename, as shown below in the list of files. Do NOT use the URL of the [get] link, since this is subject to change and can break easily.

You are not allowed to attach a file to this page.