mirror of
https://github.com/balkian/gists.git
synced 2024-11-21 09:12:29 +00:00
Add 'repos/9186870/' from commit '9cfc2da26524287f6166cc20ca88ad568f762143'
git-subtree-dir: repos/9186870 git-subtree-mainline:766153a055
git-subtree-split:9cfc2da265
This commit is contained in:
commit
44c3bd604a
38
repos/9186870/array_combination.ipynb
Normal file
38
repos/9186870/array_combination.ipynb
Normal file
@ -0,0 +1,38 @@
|
||||
{
|
||||
"metadata": {
|
||||
"name": "Untitled0"
|
||||
},
|
||||
"nbformat": 3,
|
||||
"nbformat_minor": 0,
|
||||
"worksheets": [
|
||||
{
|
||||
"cells": [
|
||||
{
|
||||
"cell_type": "code",
|
||||
"collapsed": false,
|
||||
"input": "a=set([3,4])\nb=set([3,7])\nc=set([4])\n",
|
||||
"language": "python",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"prompt_number": 6
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"collapsed": false,
|
||||
"input": "def array_combinations(*args):\n combinations = [set([i]) for i in set(args[0])]\n for arg in args[1:]:\n tempcomb = []\n for i in set(arg):\n for c in combinations:\n c.update([i])\n tempcomb.append(c)\n if tempcomb:\n combinations = tempcomb\n return combinations\nres = array_combinations(a,b,c)\nprint res\nprint len(res)",
|
||||
"language": "python",
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"output_type": "stream",
|
||||
"stream": "stdout",
|
||||
"text": "[set([3, 4, 7]), set([3, 4, 7]), set([3, 4, 7]), set([3, 4, 7])]\n4\n"
|
||||
}
|
||||
],
|
||||
"prompt_number": 25
|
||||
}
|
||||
],
|
||||
"metadata": {}
|
||||
}
|
||||
]
|
||||
}
|
13
repos/9186870/frozen_combination.py
Normal file
13
repos/9186870/frozen_combination.py
Normal file
@ -0,0 +1,13 @@
|
||||
def frozen_combination(*args):
|
||||
combinations = set([frozenset(),])
|
||||
for arg in args:
|
||||
tempcomb = set(frozenset(),)
|
||||
for i in set(arg):
|
||||
tempcomb.update(set([frozenset(list(c)+[i]) for c in combinations if i not in c]))
|
||||
if len(tempcomb) > 0:
|
||||
combinations = tempcomb
|
||||
return combinations
|
||||
# return [set(comb) for comb in combinations] # for sets instead of frozensets
|
||||
res = frozen_combination(a,b)
|
||||
print res
|
||||
print len(res)
|
Loading…
Reference in New Issue
Block a user