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

Tìm khóa có giá trị lớn nhất trong Từ điển

Giả 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ố.
  • lặp đi lặp lại. Một đối tượng Iterable
  • Chìa khóa. Một hàm sẽ được áp dụng cho từng mục trong iterable và nó trả về một giá trị dựa trên đối số đã truyền

trả lại

  • Nó trả về mục có giá trị tối đa trong Iterable. Nếu chức năng khóa không được cung cấp thì nó sẽ so sánh trực tiếp các mục trong Iterable để tìm ra giá trị tối đa. Nếu chức năng chính được cung cấp thì thay vì so sánh trực tiếp các mục, nó sẽ gọi chức năng chính trên mục và sau đó so sánh nó với các mục khác

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à

keysList = list[myDict.keys[]]

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

myDict = {'a': 'apple', 'b': 'banana', 'c': 'cherry'}
keysList = list[myDict.keys[]]
print[keysList]
Chạy

đầu ra

['a', 'b', 'c']

ví dụ 2. Khóa từ điển để liệt kê bằng cách sử dụng hiểu danh sách

Chú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

['a', 'b', 'c']

ví dụ 3. Các khóa từ điển để liệt kê bằng vòng lặp For

Nế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

  • 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:  Sam
    0 cho các khóa không tồn tại]
  • Sử dụng
    Max value in Dict:  27
    Key With Max value in Dict:  Sam
    1 để lấy giá trị mặc định cho các khóa không tồn tại

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

  • Nhận khóa từ giá trị trong từ điển bằng Python

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:  Sam
0 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:  Sam
0 đượ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

  • Hợp nhất nhiều từ điển và thêm các mục vào từ điển trong Python

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

  • Kiểm tra xem khóa/giá trị có tồn tại trong từ điển bằng Python không

Sử dụng
Max value in Dict:  27
Key With Max value in Dict:  Sam
1 để lấy giá trị mặc định cho các khóa không tồn tại

Bạ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

Chủ Đề