作者gozule (好冷啊~~)
站内Python
标题Re: [问题] 这样的array要怎麽定义?
时间Mon Sep 24 02:47:47 2012
※ 引述《magiclass (课堂上玩数学)》之铭言:
: 希望能做一个List,其中L[i]=(set1,set2,...)
: 而每个set又包含两大类元素(元素1,元素2)
: 元素1和元素2都是数字串。
: 例:
: L[0]=( ((1,2),(1,4)) , ((2,3),1) )
: L[1]=( ((4,5),(2,4)) , ((3,4),1) )
: 另外还要求可以用if条件句,去增加每个set的元素。
: 请问这样的List要怎样设计?
不知道这样的设计符不符合要求:
class MyList(object):
def __init__(self):
self.setList = [set(), set()]
def addSet(self, setIdx, value):
if isinstance(value, int):
self.setList[setIdx].add(value)
elif isinstance(value, list):
self.setList[setIdx].add(tuple(value))
因为list为mutable, 无法直接放到set中,必须先转成tuple.
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 223.142.232.150
1F:推 mikapauli:要可以放到set中是需要hashable 10/04 00:08
2F:→ mikapauli:只是在Python中基本上immutable<==>hashable 10/04 00:09
3F:→ mikapauli:不过自定义物件是个例外 10/04 00:09