I have a dictionary
cities = {1:'Kompong Som', 2: 'Kompong Thom', 3: 'Phnom Penh'}
tags = {1: 'school', 2: 'public', 3: 'private'}
kwargs = {'city': '2', 'tag': '3'}#should be improve
I want to get output like this :
kwargs = {'city': 'Kompong Thom', 'tag': 'private'}
EDIT
passed from URL
keyword = customer_type=&last_contact=&tag=2,3&city=3&sale_volume=&acc_creation=&last_sale=&key_comm=
in this case
tag=2,3&city=3 maybe in other case tag=2&city=1,2,3 or tag=1,2,3&city=1,2,3
def present_filter(self, list_result, keyword):
#@todo: the present filter should be friendly with user .
if len(list_result) > 0:
keywords = eval(json.dumps(keyword))
new_keywords = {}
for key,value in keywords.items():
if value != '' :
new_keywords[key] = value
return new_keywords
# Now new_keywords is {'city': '3', 'tag': '2,3'}
# I WANT TO BE LIKE THIS
#new_keywords is {'city': 'Phnom Penh', 'tag': 'public,private'}
else:
return ''
There’s no clear way (from your question) to automate the keyname-to-auxiliary dictionary choice, so I’ve just hardcoded the keys and aux dict to use for each; if that’s not what you want, please edit your question to clarify what it is that you want!-)
Edit: so given this new and different spec from the OP:
the solution becomes:
Of course, if the OP completely changes their specs again, the solution will change once more in response (wouldn’t it be just incredibly great if people said what they meant, and meant what they said, instead of whirling things around all the time?!-).