Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

concatenate items in dictionary in python using list comprehension

EDIT: Clarified the question a bit

How can I get a string from a dictionary with the format

key1 = value1
key2 = value2

in a relatively fast way ? (relative to plain concatenation)

like image 236
randomThought Avatar asked Nov 28 '22 04:11

randomThought


1 Answers

There's no reason to use list comprehension here.

Python 3.x:

for k,v in mydict.items():
  print(k, '=', v)

Python 2.x:

for k,v in mydict.iteritems():
  print k, '=', v

EDIT because of comment by OP in another answer:

If you're passing it to a function and not printing it here, then you should just pass the generator to the function, or the dict itself and let the function handle whatever it needs to do with it.

This is much better than converting it to a string inside a scope where it's not even needed. The function should do that, since that's where it's used.

I made a wrapper function, since editing the main function is out of the question.

def log_wrap(mydict):
    mystr = '\n'.join(['%s = %s' % (k,v) for k,v in mydict.iteritems()])
    write_to_log(mydict)

log_wrap(mydict)
like image 180
Tor Valamo Avatar answered Dec 04 '22 01:12

Tor Valamo