Run Code
|
API
|
Code Wall
|
Misc
|
Feedback
|
Login
|
Theme
|
Privacy
|
Patreon
Organizing Transactions
#python 3.5.2 from collections import OrderedDict import json; def get_formatted_transactions(parents, partials): d = OrderedDict(); for index, partial in enumerate(partials): if parents[index] in d: l = d[parents[index]] l.append(partial) d[parents[index]] = l; else: d[parents[index]] = [partial] return d; def get_groups(transactions): i = 1; groups = OrderedDict(); while transactions: group_name = "group" + str(i); groups[group_name] = {}; keys = list(transactions.keys()); for key in keys: if transactions[key]: groups[group_name][key] = transactions[key].pop(0); if not transactions[key]: del transactions[key]; else: del transactions[key] i += 1; return groups; def get_comma_separated_data(groups): new_dict = OrderedDict(); for group_name in groups: d = groups[group_name] new_dict[group_name] = ",".join([str(value) + key for value, key in zip(d.values(), d.keys())]) return new_dict; # Starting point if __name__ == "__main__": partials = [1,2,3,4,5,6,7,8,9,10]; parents = ['a','b','c','d','a','d','f','c','c','a']; transactions = get_formatted_transactions(parents, partials); # Pretty pritining ordered dictionary print(json.dumps(transactions, indent=4)); print("\n"); # Creating groups to organize transactions groups = get_groups(transactions) # Pretty printing print(json.dumps(groups, indent=4)) print("\n"); # Get comma separated form comma_separated_data = get_comma_separated_data(groups); # Pretty printing print(json.dumps(comma_separated_data, indent=4)); """ { "a": [ 1, 5, 10 ], "b": [ 2 ], "c": [ 3, 8, 9 ], "d": [ 4, 6 ], "f": [ 7 ] } { "group1": { "a": 1, "b": 2, "c": 3, "d": 4, "f": 7 }, "group2": { "a": 5, "c": 8, "d": 6 }, "group3": { "a": 10, "c": 9 } } { "group1": "1a,2b,3c,4d,7f", "group2": "5a,8c,6d", "group3": "10a,9c" } """
run
|
edit
|
history
|
help
0
raja sainik
Redd
lambda_filter_map_reduce.py
Lesson3 part 2
Multi-Layer Neural Networks
lesson3 part3
Program of cube
ip2cidr
Lab_I_4_25_11_2020
gj