From a0adc6049a2b184f7391cdf27581f5d6d3053ea6 Mon Sep 17 00:00:00 2001 From: Prathima Kadari Date: Mon, 17 May 2021 22:08:37 +0530 Subject: [PATCH] Added cartesian program --- cartesian.py | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 cartesian.py diff --git a/cartesian.py b/cartesian.py new file mode 100644 index 0000000..9c18a5f --- /dev/null +++ b/cartesian.py @@ -0,0 +1,21 @@ +def cart(li): + + #In case an empty list is provided + #Ex : cart([]) + + if len(li) == 0: + return [()] + stack = [] + if len(li) == 1: + return [[each] for each in li[0]] + else: + for each in li[0]: + results = cart(li[1:]) + for each_result in results: + each_result.insert(0, each) + stack.append(each_result) + return stack + +result = cart([['title1', 'title2'], ['body1', 'body2', 'body3'], ['url1', 'url2', 'url3']]) +for combination in result: + print combination