Concatenate subscriptions with ::

I am trying to build a string using ":" and then write that string to a file. The function gets two lists that include strings that represent amounts of money

[["$123,123,123", "$68,656", "$993,993,993,993", "$123,141,142,142"],
 ["$60", "$800,600", "$700,600,500", "$20,200,200,201"]]

      

It should be written as

"$123,123,123":"$68,656":"$993,993,993,993":"$123,141,142,142"
"$60":"$800,600":"$700,600,500":"$20,200,200,201"

      

I currently have something like this:

def save_amount (amount, moneys):
    with open (moneys, "w") as file:
        for i in amount:
            moneys_s = str(i)

      

How to proceed?

+3


source to share


3 answers


Flatten the list first, then use join

, use list:



>>> [ ':'.join('"' + j + '"' for j in i) for i in l ]
['"$123,123,123":"$68,656":"$993,993,993,993":"$123,141,142,142"',
'"$60":"$800,600":"$700,600,500":"$20,200,200,201"']

      

+2


source


'"' + '":"'.join( str(j) for i in money for j in i) + '"'

      



where money is your list of lists

+1


source


l = [["$123,123,123", "$68,656", "$993,993,993,993", "$123,141,142,142"],
     ["$60", "$800,600", "$700,600,500", "$20,200,200,201"]]
[ ':'.join('"' + j + '"' for j in i) for i in l ]

      

Output:

['"$123,123,123":"$68,656":"$993,993,993,993":"$123,141,142,142"',
 '"$60":"$800,600":"$700,600,500":"$20,200,200,201"']

      

+1


source







All Articles