Or, as the Python interpreter reports: Traceback (most recent call last):Ĭsv_mapping_list.sort(key=lambda item: item.get("Age"))Ĭsv_mapping_list = sorted(csv_mapping_list, key=lambda item: item.get("Age"))Īs usual, I appreciate your support. Here, we have to specify the key parameter as dictionaries cannot be naturally sorted. csv_mapping_list.sort(key=lambda item: item.get("Age")) In the following snippet, we sort the list of dictionaries by age. Instead, we can use the builtin sort function for lists. Luckily for us, we don’t have to implement sorting by hand in Python. Pretty cool stuff! Sorting a List of Dictionaries With Sort Function In other words, we create a tuple on the right side of the expression and unpack it on the left side of the expression. To accomplish the swap, we leverage tuple packing and unpacking. Since looking into this topic, I’ve found that Python has a nice way of handling the variable swap in a single line of code: size = len(csv_mapping_list)Ĭsv_mapping_list, csv_mapping_list = csv_mapping_list, csv_mapping_listĬlearly, I didn’t pick that great of a variable name for the swap, but you get the idea. To do that, we leverage the “Age” field of each dictionary as seen in line 5. Rather than creating new dicts, which is really the only way to change the key order, you should fix where the dictionaries are created to either use collections.OrderedDict or if you are using 3.6 or later, just put the dictionaries in the right order to begin with. Here, we’ve sorted the list of dictionaries in place by age. If csv_mapping_list > csv_mapping_list:Ĭsv_mapping_list = csv_mapping_list Instead, we’ll leverage one of the more popular algorithms, selection sort: size = len(csv_mapping_list) Sorting is probably one of the most researched areas of Computer Science, so we won’t dive into the philosophy. It’s normal for me to share a brute force method followed by a couple more elegant methods, so take care to skip ahead if needed. SolutionsĪs always, I like to share many possible solutions. Today, I want to focus on sorting a list of dictionaries. In any case, we always have to start with data processing. ![]() For instance, maybe older individuals prefer certain colors, or perhaps younger individuals have certain types of names. That way we could plot them in order of increasing or decreasing age to see if we could spot any trends. In this case, we might want to order our data points by age. Likewise, order of the data might matter. In other words, we have our data, but we might want to use a subset of it. Of course, having the data in a nice format and actually using that data for visualization are very different problems. As mentioned before, I was working on parsing a CSV file for data visualization, and I ended up getting everything I wanted in the following format: csv_mapping_list = [
0 Comments
Leave a Reply. |
Details
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |