蚊子的程式設計路
給我一種程式語言,我就變出一個世界。
2010年12月20日 星期一
Python集合
Python有個數學常用的型態 集合(set)
a = set([1,2,3,4,5])
b = set([2,4])
b.issubset(a) 會回傳True
也可以這樣用
a = set(['apple','google','microsoft'])
b = set(['apple','object C'])
b.issubset(a) 會回傳 False
b = set(['apple','google'])
b.issubset(a) 會回傳True
2010年12月14日 星期二
Python寫排列組合
排列組合以離散數學來看應該是如下列表示
x+y for all x for all y
x = {1,2,3}
y = {a,b,c}
排列出來的集合為:{1a,1b,1c,2a,2b,2c,3a,3b,3c}
用Python要怎麼解決呢?
很簡單,幾乎就跟上面的表示法一樣
z = [a+b for a in x for b in y]
print z 就會看到上面的集合了
有時候離散也會在後面表示條件式如
x+y for all x for all y, if x > 1
那就一樣在Python改成
z = [a+b for a in x for b in y if x > 1]
就好了
由此看來創Python的離散應該很強...
較新的文章
較舊的文章
首頁
訂閱:
文章 (Atom)