Lấy tất cả các giá trị chính từ từ điển python
Trong bài viết này, chúng ta sẽ thảo luận về cách tìm giá trị lớn nhất trong từ điển và cả các khóa có giá trị lớn nhất Show
Tìm khóa có giá trị lớn nhất trong Từ điểnGiả sử chúng ta có một từ điển chuỗi và int i. e # Create a dictionary of string and int sampleDict = { 'Ritika': 5, 'Sam': 27, 'John' : 10 , 'Sachin' : 14, 'Mark' : 19 } Bây giờ, giả sử chúng ta muốn tìm giá trị lớn nhất trong từ điển và cả khóa được liên kết với nó Để làm được điều đó, chúng ta sẽ sử dụng hàm max() i. e # Find Key with Max Value itemMaxValue = max(sampleDict.items(), key=lambda x : x[1]) print('Max value in Dict: ', itemMaxValue[1]) print('Key With Max value in Dict: ', itemMaxValue[0]) Đầu ra. ______2 Nó hoạt động như thế nào? Để biết nó hoạt động như thế nào, chúng ta cần giải thích một chút về hàm max() i. e max(iterable, *[, key, default]) Đối số.
trả lại
Bây giờ trong ví dụ trên để tìm khóa có giá trị tối đa trong từ điển. Chúng tôi đã chuyển trả về Iterable bằng dict. items(), về cơ bản là một Iterable của key/value tuples. Bây giờ hàm max() không thể so sánh trực tiếp các bộ dữ liệu này. Vì vậy, chúng tôi cũng đã thông qua một chức năng quan trọng. e key=lambda x : x[1] Hàm chính này chấp nhận một bộ làm đối số và trả về giá trị thứ 2 trong bộ i. e. mục tại chỉ số 1. Vì vậy, về cơ bản khi một bộ khóa, giá trị được truyền cho hàm này, nó sẽ trả về trường giá trị từ bộ đó. Vì vậy, trong đoạn mã sau, max(sampleDict.items(), key=lambda x : x[1]) sampleDict. items() trả về một Iterable và hàm max() gọi hàm chính trên mỗi mục của Iterable này trước khi so sánh nó với các mục khác trong iterable. Vì vậy, về cơ bản, hàm max() sẽ so sánh các mục như, key(item1) < key(item2) Nó trả về mục (bộ khóa/giá trị) có giá trị lớn nhất trong từ điển. Từ đó, chúng tôi đã tìm nạp các trường khóa và giá trị. Nếu có nhiều khóa trong từ điển có giá trị lớn nhất thì giải pháp này sẽ không hoạt động, vì hàm max() luôn trả về lần xuất hiện đầu tiên của giá trị lớn nhất. Vì vậy, nếu chúng ta muốn tìm tất cả các khóa có giá trị lớn nhất thì sao? Để chuyển đổi các khóa Từ điển Python thành Danh sách, bạn có thể sử dụng dict. keys() phương thức trả về một đối tượng dict_keys. Đối tượng này có thể được lặp lại và nếu bạn chuyển nó tới hàm tạo list(), nó sẽ trả về một đối tượng danh sách với các khóa từ điển làm phần tử Một đoạn mã đơn giản để chuyển đổi các khóa từ điển thành danh sách là
ví dụ 1. Các phím từ điển để liệt kê bằng cách sử dụng dict. phím()Trong chương trình sau, chúng ta khởi tạo một từ điển với ba phím. cặp giá trị. Chúng tôi sẽ sử dụng dict. keys() để lấy đối tượng dict_keys. chúng tôi vượt qua dict. keys() làm đối số cho hàm tạo list(). list() trả về danh sách các khóa Chương trình Python Chạyđầu ra
ví dụ 2. Khóa từ điển để liệt kê bằng cách sử dụng hiểu danh sáchChúng tôi cũng có thể sử dụng Hiểu danh sách để lấy các khóa của từ điển dưới dạng các thành phần của danh sách Chương trình Python # Find Key with Max Value itemMaxValue = max(sampleDict.items(), key=lambda x : x[1]) print('Max value in Dict: ', itemMaxValue[1]) print('Key With Max value in Dict: ', itemMaxValue[0])0Chạy đầu ra
ví dụ 3. Các khóa từ điển để liệt kê bằng vòng lặp ForNếu bạn không thoải mái với việc hiểu Danh sách, hãy để chúng tôi sử dụng Vòng lặp. Khi bạn lặp trên từ điển, bạn sẽ nhận được khóa tiếp theo trong mỗi lần lặp. Xác định một danh sách trống keysList để lưu trữ các khóa và nối thêm khóa trong mỗi lần lặp trong vòng lặp for Bài viết này mô tả cách lấy giá trị từ một từ điển (đối tượng loại ______18) bằng khóa trong Python
Nếu bạn muốn trích xuất các khóa theo giá trị, hãy xem bài viết sau
Liên kết được tài trợ Nhận giá trị từ từ điển với # Find Key with Max Value itemMaxValue = max(sampleDict.items(), key=lambda x : x[1]) print('Max value in Dict: ', itemMaxValue[1]) print('Key With Max value in Dict: ', itemMaxValue[0]) 9 (Max value in Dict: 27 Key With Max value in Dict: Sam0 cho các khóa không tồn tại)Trong Python, bạn có thể lấy giá trị từ từ điển bằng cách chỉ định khóa như # Find Key with Max Value itemMaxValue = max(sampleDict.items(), key=lambda x : x[1]) print('Max value in Dict: ', itemMaxValue[1]) print('Key With Max value in Dict: ', itemMaxValue[0])9 # Find Key with Max Value itemMaxValue = max(sampleDict.items(), key=lambda x : x[1]) print('Max value in Dict: ', itemMaxValue[1]) print('Key With Max value in Dict: ', itemMaxValue[0])2 nguồn. Trong trường hợp này, Max value in Dict: 27 Key With Max value in Dict: Sam0 được nâng lên nếu khóa không tồn tại # Find Key with Max Value itemMaxValue = max(sampleDict.items(), key=lambda x : x[1]) print('Max value in Dict: ', itemMaxValue[1]) print('Key With Max value in Dict: ', itemMaxValue[0])3 nguồn. Lưu ý rằng không có vấn đề gì khi chỉ định khóa không tồn tại nếu bạn muốn thêm phần tử mới # Find Key with Max Value itemMaxValue = max(sampleDict.items(), key=lambda x : x[1]) print('Max value in Dict: ', itemMaxValue[1]) print('Key With Max value in Dict: ', itemMaxValue[0])4 nguồn. Để biết thêm thông tin về cách thêm các mục vào từ điển, hãy xem bài viết sau
Sử dụng # Find Key with Max Value itemMaxValue = max(sampleDict.items(), key=lambda x : x[1]) print('Max value in Dict: ', itemMaxValue[1]) print('Key With Max value in Dict: ', itemMaxValue[0])34 để kiểm tra xem khóa có tồn tại trong từ điển không
Sử dụng Max value in Dict: 27 Key With Max value in Dict: Sam1 để lấy giá trị mặc định cho các khóa không tồn tạiBạn có thể sử dụng phương pháp # Find Key with Max Value itemMaxValue = max(sampleDict.items(), key=lambda x : x[1]) print('Max value in Dict: ', itemMaxValue[1]) print('Key With Max value in Dict: ', itemMaxValue[0])36 của từ điển ( # Find Key with Max Value itemMaxValue = max(sampleDict.items(), key=lambda x : x[1]) print('Max value in Dict: ', itemMaxValue[1]) print('Key With Max value in Dict: ', itemMaxValue[0])8) để lấy bất kỳ giá trị mặc định nào mà không gặp lỗi nếu khóa không tồn tại Chỉ định khóa làm đối số đầu tiên. Giá trị tương ứng được trả về nếu khóa tồn tại và # Find Key with Max Value itemMaxValue = max(sampleDict.items(), key=lambda x : x[1]) print('Max value in Dict: ', itemMaxValue[1]) print('Key With Max value in Dict: ', itemMaxValue[0])38 được trả về nếu khóa không tồn tại Làm cách nào để trích xuất tất cả các giá trị từ một từ điển?Cách trích xuất các giá trị từ điển dưới dạng danh sách . (1) Sử dụng hàm list(). my_list = danh sách (my_dict. giá trị()) (2) Sử dụng cách hiểu danh sách. my_list = [i cho tôi trong my_dict. giá trị()] (3) Sử dụng vòng lặp For. my_list = [] cho tôi trong my_dict. giá trị(). danh sách của tôi. nối thêm (i) Làm cách nào để tìm nạp các giá trị từ từ điển trong Python?Cú pháp Phương thức get() của Từ điển Python. . cú pháp. đọc chính tả. get(key, default=None) Thông số trả lại. Trả về giá trị của mục với khóa được chỉ định hoặc giá trị mặc định |