Hướng dẫn can you filter dictionaries in python? - bạn có thể lọc từ điển trong python không?
Trong bài viết này, chúng tôi sẽ thảo luận về các cách khác nhau để lọc nội dung từ từ điển theo các điều kiện trên các khóa hoặc giá trị hoặc trên cả hai. Giả sử chúng ta có một từ điển trong đó phần tử loại int là các phần tử loại và chuỗi chuỗi là giá trị, tức là. Bây giờ, hãy để thảo luận về các cách khác nhau để lọc nội dung của các điều kiện tùy ý từ điển này, Lọc từ điển bằng các phím trong Python Giả sử chúng ta muốn lọc từ điển bằng cách chỉ giữ các yếu tố có khóa đồng đều. Vì vậy, chúng ta chỉ có thể lặp lại tất cả các mục từ điển và thêm các phần tử có chìa khóa thậm chí vào một từ điển khác, tức là. Đầu ra: Từ điển được lọc, tức là NewDict hiện chứa các phần tử được lọc từ từ điển ban đầu, tức là các phần tử có khóa chia hết cho 2. & nbsp; tương tự chúng ta có thể có lọc có điều kiện dựa trên trường giá trị thay vì khóa. Nhưng thay vì viết mã để lặp lại và kiểm tra điều kiện nhiều lần, chúng tôi di chuyển mã sang một hàm chung và chuyển điều kiện từ bên ngoài, tức là.newDict now contains filtered elements from the original
dictionary i.e. elements whose key is divisible by 2. Similarly we can have conditional filtering based on value field instead of key. But instead of writing code for iteration and condition checking again and again, we move the code to a generic function and pass condition from outside i.e. Chức năng này chấp nhận, Quảng cáo Hàm này lặp lại trên tất cả các cặp giá trị chính trong từ điển và gọi hàm gọi lại đã cho () trên mỗi cặp. Các mục mà hàm gọi lại () trả về true được thêm vào từ điển mới. Cuối cùng, từ điển mới được trả lại.True are added to the new dictionary. In the end new dictionary is returned. Bây giờ, hãy để sử dụng nó để lọc từ điển bằng khóa, tức là # Filter a dictionary to keep elements only whose keys are even newDict = filterTheDict(dictOfNames, lambda elem : elem[0] % 2 == 0) print('Filtered Dictionary : ') print(newDict) Đầu ra: Filtered Dictionary : {8: 'john', 10: 'riti', 12: 'sachin'} Từ điển được lọc, tức là NewDict hiện chứa các phần tử được lọc từ từ điển ban đầu, tức là các phần tử có khóa chia hết cho 2. & nbsp; tương tự chúng ta có thể có lọc có điều kiện dựa trên trường giá trị thay vì khóa. Nhưng thay vì viết mã để lặp lại và kiểm tra điều kiện nhiều lần, chúng tôi di chuyển mã sang một hàm chung và chuyển điều kiện từ bên ngoài, tức là.filterTheDict(). It returned a new dictionary which contains elements with even keys only. Chức năng này chấp nhận, Quảng cáofilterTheDict() function created above to filter the dictionary. Suppose we want to keep the elements only in dictionary whose value field contains a string of length 6. To do that let’s pass the different lambda function to filterTheDict() i.e. # Filter a dictionary to keep elements only whose values are string of length 6 newDict = filterTheDict(dictOfNames, lambda elem: len(elem[1]) == 6) Đầu ra: Filtered Dictionary : {9: 'mathew', 12: 'sachin'} Từ điển được lọc, tức là NewDict hiện chứa các phần tử được lọc từ từ điển ban đầu, tức là các phần tử có khóa chia hết cho 2. & nbsp; tương tự chúng ta có thể có lọc có điều kiện dựa trên trường giá trị thay vì khóa. Nhưng thay vì viết mã để lặp lại và kiểm tra điều kiện nhiều lần, chúng tôi di chuyển mã sang một hàm chung và chuyển điều kiện từ bên ngoài, tức là. Chức năng này chấp nhận, Quảng cáo
Returns:
Bây giờ, hãy để sử dụng nó để lọc từ điển bằng khóa, tức là dictOfNames = { 7 : 'sam', 8: 'john', 9: 'mathew', 10: 'riti', 11 : 'aadi', 12 : 'sachin' } Hàm Lambda được truyền được sử dụng làm điều kiện trong khi lọc nội dung bên trong Function FilterTHEDICT (). Nó đã trả lại một từ điển mới chỉ chứa các yếu tố chỉ có các phím. Lọc một từ điển theo các giá trị trong Python # Filter dictionary by keeping elements whose keys are divisible by 2 newDict = dict(filter(lambda elem: elem[0] % 2 == 0, dictOfNames.items())) print('Filtered Dictionary : ') print(newDict) Đầu ra: Filtered Dictionary : {8: 'john', 10: 'riti', 12: 'sachin'} Từ điển được lọc, tức là NewDict hiện chứa các phần tử được lọc từ từ điển ban đầu, tức là các phần tử có khóa chia hết cho 2. & nbsp; tương tự chúng ta có thể có lọc có điều kiện dựa trên trường giá trị thay vì khóa. Nhưng thay vì viết mã để lặp lại và kiểm tra điều kiện nhiều lần, chúng tôi di chuyển mã sang một hàm chung và chuyển điều kiện từ bên ngoài, tức là. Chức năng này chấp nhận, newDict = dict() # Iterate over all the items in dictionary and filter items which has even keys for (key, value) in dictOfNames.items(): # Check if key is even then add pair to new dictionary if key % 2 == 0: newDict[key] = value print('Filtered Dictionary : ') print(newDict)1 Đầu ra: Filtered Dictionary : {9: 'mathew', 12: 'sachin'} Từ điển được lọc, tức là NewDict hiện chứa các phần tử được lọc từ từ điển ban đầu, tức là các phần tử có khóa chia hết cho 2. & nbsp; tương tự chúng ta có thể có lọc có điều kiện dựa trên trường giá trị thay vì khóa. Nhưng thay vì viết mã để lặp lại và kiểm tra điều kiện nhiều lần, chúng tôi di chuyển mã sang một hàm chung và chuyển điều kiện từ bên ngoài, tức là. Chức năng này chấp nhận,Quảng cáo dictOfNames = { 7 : 'sam', 8: 'john', 9: 'mathew', 10: 'riti', 11 : 'aadi', 12 : 'sachin' } Một cuốn từ điển Một hàm chấp nhận một cặp khóa/giá trị và trả về đúng hoặc sai newDict = dict() # Iterate over all the items in dictionary and filter items which has even keys for (key, value) in dictOfNames.items(): # Check if key is even then add pair to new dictionary if key % 2 == 0: newDict[key] = value print('Filtered Dictionary : ') print(newDict)4 Đầu ra: Filtered Dictionary : {8: 'john', 10: 'riti', 12: 'sachin'} Từ điển được lọc, tức là NewDict hiện chứa các phần tử được lọc từ từ điển ban đầu, tức là các phần tử có khóa chia hết cho 2. & nbsp; tương tự chúng ta có thể có lọc có điều kiện dựa trên trường giá trị thay vì khóa. Nhưng thay vì viết mã để lặp lại và kiểm tra điều kiện nhiều lần, chúng tôi di chuyển mã sang một hàm chung và chuyển điều kiện từ bên ngoài, tức là. Chức năng này chấp nhận, newDict = dict() # Iterate over all the items in dictionary and filter items which has even keys for (key, value) in dictOfNames.items(): # Check if key is even then add pair to new dictionary if key % 2 == 0: newDict[key] = value print('Filtered Dictionary : ') print(newDict)6 Đầu ra: newDict = dict() # Iterate over all the items in dictionary and filter items which has even keys for (key, value) in dictOfNames.items(): # Check if key is even then add pair to new dictionary if key % 2 == 0: newDict[key] = value print('Filtered Dictionary : ') print(newDict)7 Từ điển được lọc, tức là NewDict hiện chứa các phần tử được lọc từ từ điển ban đầu, tức là các phần tử có khóa chia hết cho 2. & nbsp; tương tự chúng ta có thể có lọc có điều kiện dựa trên trường giá trị thay vì khóa. Nhưng thay vì viết mã để lặp lại và kiểm tra điều kiện nhiều lần, chúng tôi di chuyển mã sang một hàm chung và chuyển điều kiện từ bên ngoài, tức là. Chức năng này chấp nhận,
Filter () Chức năng lặp lại trên tất cả các phần tử trong các phần tử Dict và Filter được truyền dựa trên điều kiện được truyền dưới dạng gọi lại.Lọc một từ điển bằng cách hiểu biết newDict = dict() # Iterate over all the items in dictionary and filter items which has even keys for (key, value) in dictOfNames.items(): # Check if key is even then add pair to new dictionary if key % 2 == 0: newDict[key] = value print('Filtered Dictionary : ') print(newDict)8 Output: Từ điển ban đầu của chúng tôi là,Có phải sắp xếp một từ điển có thể trong Python không?Vâng, kể từ Python 3.7, từ điển cũng nhớ thứ tự của các mục được chèn. Do đó, chúng tôi cũng có thể sắp xếp từ điển bằng cách sử dụng hàm Sắp xếp () tích hợp của Python. Cũng giống như với các phép lặp khác, chúng ta có thể sắp xếp từ điển dựa trên các tiêu chí khác nhau tùy thuộc vào đối số chính của hàm Sắp xếp ().we are also able to sort dictionaries using python's built-in sorted() function. Just like with other iterables, we can sort dictionaries based on different criteria depending on the key argument of the sorted() function.
Sắp xếp một từ điển có thể?Không thể sắp xếp một từ điển, chỉ để có được một đại diện của một từ điển được sắp xếp.Từ điển vốn đã không có trật tự, nhưng các loại khác, chẳng hạn như danh sách và bộ dữ liệu, thì không.Vì vậy, bạn cần một loại dữ liệu được đặt hàng để thể hiện các giá trị được sắp xếp, đây sẽ là một danh sách có lẽ là một danh sách các bộ dữ liệu., only to get a representation of a dictionary that is sorted. Dictionaries are inherently orderless, but other types, such as lists and tuples, are not. So you need an ordered data type to represent sorted values, which will be a list—probably a list of tuples.
Bạn có thể lập chỉ mục thông qua một từ điển trong Python không?Đối tượng từ điển Python cung cấp một khóa: cơ sở lập chỉ mục giá trị.Lưu ý rằng từ điển không được đặt hàng - vì các giá trị trong từ điển được lập chỉ mục bởi các khóa, chúng không được giữ theo bất kỳ thứ tự cụ thể nào, không giống như một danh sách, trong đó mỗi mục có thể được đặt theo vị trí của nó trong danh sách.. Note that dictionaries are unordered - since the values in the dictionary are indexed by keys, they are not held in any particular order, unlike a list, where each item can be located by its position in the list. |