Python---面向对象编程---自定义列表和集合操作类

一、定义一个列表的操作类Listinfo

包括的方法

1、列表元素添加:add_key() 添加的必须是数字或者是字符串

2、列表元素取值:get_key()

3、列表合并:update_list(list)

4、删除并且返回最后一个元素:del_key()

--------------------------------------------------------------

class ListInfo(object):

def __init__(self, list_val):

self.list = list_val

def add_key(self, key_name):

self.list.append(key_name)

print(self.list)

return "OK"

def get_key(self, index):

#判断传入的索引是否超出了列表

if index >= 0 and index < len(self.list):

return self.list[index]

return "你输入的太多了,想太多了"

def update_list(self, new_list):

self.list.extend(new_list)

return self.list

def del_key(self):

#首先要判断我们的列表里面还有元素

if len(self.list) >= 0:

return self.list.pop(-1)

else:

return "列表是空的"

list_info = ListInfo([1,2,3,4,5])

print(list_info.add_key(6))

print(list_info.update_list([8,9,10]))

-------------------------------------------------------------------

定义一个集合的操作类

包括的方法

  1、集合元素添加:add_setinfo()

  2、集合的交集:get_intersection()

  3、集合的并集:get_union()

  4、集合的差集:del_difference()

-------------------------------------------------------

class SecInfo(object):

def __init__(self, my_set):

self.sett = my_set

def add_setinfo(self, keyname):

self.sett.add(keyname)

return self.sett

def get_intersection(self, unioninfo):

if isinstance(unioninfo, set):

return self.sett & unioninfo

else:

return "你传入的不是set"

def get_union(self, unioninfo):

return self.sett | unioninfo

def del_difference(self, unioninfo):

return self.sett - unioninfo

A = set([1,2,3,4,5])

B = set([5,6,3])

#my_set = SecInfo((1,2,3,4,5))

#print(my_set.add_setinfo(6))

my_set = SecInfo(A)

print(my_set.get_intersection(B))

print(my_set.del_difference(B))

---------------------------------------------