If you manipulate data, it often helps that each column is an observable variable (name, age), and each row is an observation (for example, a sampled person). Learn more about accurate data in this pdf link.
Bad programmers worry about code. Good programmers worry about data structures and their relationships - Linus Torvalds
The list of dictionaries is better suited for such operations. Below I present a beginner-friendly snippet to organize your data. When you have a good data structure, sorting by any variable is trivial even for beginners. Not a single Python kung-fu liner :)
>>> mydict = {'name':['peter', 'janice', 'andy'], 'age':[10, 30, 15]}
Work on a better data structure first
>>> persons = [] >>> for i, name in enumerate(mydict['name']): ... persons.append({'name': name, 'age': mydict['age'][i]}) ... >>> persons [{'age': 10, 'name': 'peter'}, {'age': 30, 'name': 'janice'}, {'age': 15, 'name': 'andy'}]
Now it’s easier to work on this data structure, which is similar to “data frames” in data analysis environments. Let me sort it by person.name
>>> persons = sorted(persons, key=lambda person: person['name'])
Now return it to your format if you want
>>> {'name': [p['name'] for p in persons], 'age': [p['age'] for p in persons]} {'age': [15, 30, 10], 'name': ['andy', 'janice', 'peter']}