Untitled
unknown
python
2 years ago
1.4 kB
5
Indexable
# Alternativ för att slå ihop två tabeller / dicts, med key-value till key-value-value debitItem1 = {'6230': 79.2, '2640': 19.8} creditItem1 = {'1930': 98, '6230': 1} debitItem2 = {'1510': 22183} creditItem2 = {'3010': 17746.4, '2610':4436.6} print("Alternativ 1") accounts_item1 = {} # Alternativ 1: # Skapa en dict = {account, {credit_amount, debit_amount}} for item in debitItem1.items(): accounts_item1[item[0]] = [item[1],''] for item in creditItem1.items(): if item[0] in accounts_item1: accounts_item1[item[0]] = [accounts_item1[item[0]][0], item[1]] else: accounts_item1[item[0]] = ['',item[1]] print(accounts_item1) ''' {'6230': [79.2, 1], '2640': [19.8, ''], '1930': ['', 98]} ''' print("Alternativ 2") # Alternativ 2: # Skapa en list av list = # [ # [account1, debit_amount, credit_amount], # [account2, debit_amount, credit_amount], # [account3, debit_amount, credit_amount] # ] accounts_item1 = [] for item in debitItem1.items(): accounts_item1.append([item[0], item[1],'']) for item in creditItem1.items(): inRow = False for row in accounts_item1: if row[0] == item[0]: row[2] = item[1] inRow = True break if not inRow: accounts_item1.append([item[0],'',item[1]]) print(accounts_item1) ''' [['6230', 79.2, 1], ['2640', 19.8, ''], ['1930', '', 98]] '''
Editor is loading...