作者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
推 mikapauli:要可以放到set中是需要hashable 10/04 00:08
→ mikapauli:只是在Python中基本上immutable<==>hashable 10/04 00:09
→ mikapauli:不過自定義物件是個例外 10/04 00:09