Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
180 views
in Technique[技术] by (71.8m points)

python - How to concatenate list of dictionaries items using join and list comprehension?

i'm trying to get a formatted string with all attributes from all dictionaries in a list using list comprehension

results = [{'TTL': '1643410114', 'customer': '1212', 'date': '2021-01-28', 'file': 'file.gz'}]

print("***** SEARCH RESULTS ***** 
".join([ f"{key}: {value}
" for key, value in obj.items() for obj in results ]))

and I got NameError: name 'obj' is not defined, I tried some combinations without success, how can I archieve this?

question from:https://stackoverflow.com/questions/65947361/how-to-concatenate-list-of-dictionaries-items-using-join-and-list-comprehension

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)

You have your inline for-loops in the wrong order:

>>> [ "{}: {}
".format(key, value) for obj in results for key, value in obj.items() ]
['customer: 1212
', 'date: 2021-01-28
', 'file: file.gz
', 'TTL: 1643410114
']

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...