1
0
mirror of https://github.com/balkian/gists.git synced 2025-08-23 15:12:21 +00:00

Move files

This commit is contained in:
J. Fernando Sánchez
2021-10-30 15:23:01 +02:00
parent f798a3e673
commit f48bab94dd
113 changed files with 1 additions and 0 deletions

View File

@@ -0,0 +1,14 @@
a=set([1,2,3,4])
b=set([4,5,6,7])
c=set([7,8,9])
def array_combinations(*args):
combinations = [[i] for i in set(args[0])]
for arg in args[1:]:
tempcomb = []
for i in set(arg):
tempcomb += [c+[i] for c in combinations if i not in c ]
combinations = tempcomb
return combinations
res = array_combinations(a,b,c)
print res
print len(res)

View File

@@ -0,0 +1,11 @@
def array_combinations(*args):
combinations = set([frozenset([i]) for i in set(args[0])])
for arg in args[1:]:
tempcomb = []
for i in set(arg):
tempcomb += [frozenset(list(c)+[i]) for c in combinations if i not in c ]
combinations = set(tempcomb)
return [list(comb) for comb in combinations]
res = array_combinations(a,b)
print res
print len(res)

View 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": {}
}
]
}

View 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)