Hướng dẫn top 10 values in dictionary python - 10 giá trị hàng đầu trong python từ điển

Tôi có một từ điển như thế này:

A = {'a':10, 'b':843, 'c': 39,.....}

Tôi muốn nhận được 5 giá trị tối đa của dict này và lưu trữ một dict mới với điều này. Để có được giá trị tối đa tôi đã làm:

max(A.iteritems(), key=operator.itemgetter(1))[0:]

Có lẽ đó là một nhiệm vụ dễ dàng, nhưng tôi bị mắc kẹt trong một thời gian dài. Xin vui lòng giúp đỡ!!!

Hỏi ngày 25 tháng 8 năm 2011 lúc 21:18Aug 25, 2011 at 21:18

Hướng dẫn top 10 values in dictionary python - 10 giá trị hàng đầu trong python từ điển

Không cần sử dụng iteritems và itemgetter. Phương pháp Get của Dict hoạt động tốt.

max(A, key=A.get)

Tương tự để sắp xếp:

sorted(A, key=A.get, reverse=True)[:5]

Cuối cùng, nếu kích thước dict không bị ràng buộc, sử dụng một đống cuối cùng sẽ nhanh hơn một loại đầy đủ.

import heapq
heapq.nlargest(5, A, key=A.get)

Để biết thêm thông tin, hãy xem tài liệu

max(A.iteritems(), key=operator.itemgetter(1))[0:]
1.

Hướng dẫn top 10 values in dictionary python - 10 giá trị hàng đầu trong python từ điển

Felix Kling

773K172 Huy hiệu vàng1069 Huy hiệu bạc1116 Huy hiệu đồng172 gold badges1069 silver badges1116 bronze badges

Đã trả lời ngày 25 tháng 8 năm 2011 lúc 21:49Aug 25, 2011 at 21:49

Hướng dẫn top 10 values in dictionary python - 10 giá trị hàng đầu trong python từ điển

A. Coadya. CoadyA. Coady

51.7K8 Huy hiệu vàng32 Huy hiệu bạc39 Huy hiệu đồng8 gold badges32 silver badges39 bronze badges

3

Bạn đang gần gũi. Bạn có thể sắp xếp danh sách bằng cách sử dụng

max(A.iteritems(), key=operator.itemgetter(1))[0:]
2 [Docs] và lấy năm yếu tố đầu tiên:

newA = dict(sorted(A.iteritems(), key=operator.itemgetter(1), reverse=True)[:5])

Xem thêm: Python sắp xếp Howto

Đã trả lời ngày 25 tháng 8 năm 2011 lúc 21:21Aug 25, 2011 at 21:21

Hướng dẫn top 10 values in dictionary python - 10 giá trị hàng đầu trong python từ điển

Felix Klingfelix KlingFelix Kling

773K172 Huy hiệu vàng1069 Huy hiệu bạc1116 Huy hiệu đồng172 gold badges1069 silver badges1116 bronze badges

5

Đã trả lời ngày 25 tháng 8 năm 2011 lúc 21:49

max(A.iteritems(), key=operator.itemgetter(1))[0:]
3

Example:

>>> from collections import Counter
>>> A = {'a' : 1, 'b' : 3, 'c' : 2, 'd' : 4, 'e' : 0, 'f' :5}
>>> dict(Counter(A).most_common(5))
{'a': 1, 'c': 2, 'b': 3, 'd': 4, 'f': 5}

A. Coadya. CoadyApr 7, 2014 at 15:14

Hướng dẫn top 10 values in dictionary python - 10 giá trị hàng đầu trong python từ điển

51.7K8 Huy hiệu vàng32 Huy hiệu bạc39 Huy hiệu đồngAkavall

Bạn đang gần gũi. Bạn có thể sắp xếp danh sách bằng cách sử dụng

max(A.iteritems(), key=operator.itemgetter(1))[0:]
2 [Docs] và lấy năm yếu tố đầu tiên:49 gold badges202 silver badges245 bronze badges

2

Xem thêm: Python sắp xếp Howto

import operator
dict(sorted(A.items(), key=operator.itemgetter(1), reverse=True)[:5])

Đã trả lời ngày 25 tháng 8 năm 2011 lúc 21:21May 23, 2019 at 1:30

Felix Klingfelix KlingMalinda

Bạn có thể sử dụng bộ sưu tập.2 silver badges12 bronze badges

1

Đã trả lời ngày 7 tháng 4 năm 2014 lúc 15:14

dict(sorted(A.iteritems(), key=operator.itemgetter(1), reverse=True)[:5])

AkavallakavallAug 25, 2011 at 21:22

79K49 Huy hiệu vàng202 Huy hiệu bạc245 Huy hiệu ĐồngGerrat

Cho Python 38 gold badges72 silver badges99 bronze badges

0

Xem thảo luận

Cải thiện bài viết

Lưu bài viết

  • Đọc
  • Bàn luận
  • Xem thảo luận

    Cải thiện bài viết

    Lưu bài viết

    Đọc

    Bàn luận

    Nhiều lần trong khi làm việc với từ điển Python, chúng ta có thể gặp vấn đề cụ thể để tìm ra cực đại của các giá trị trong nhiều khóa. Vấn đề này khá phổ biến trong khi làm việc với miền phát triển web. Hãy để thảo luận về một số cách mà nhiệm vụ này có thể được thực hiện.

    Phương pháp số 1:

    max(A.iteritems(), key=operator.itemgetter(1))[0:]
    
    4

    Sự kết hợp của phương pháp trên được sử dụng để thực hiện nhiệm vụ cụ thể này. Trong đó, chúng tôi chỉ cần đảo ngược các giá trị từ điển được thể hiện bằng cách sử dụng

    max(A.iteritems(), key=operator.itemgetter(1))[0:]
    
    5 và được truy cập bằng cách sử dụng
    max(A.iteritems(), key=operator.itemgetter(1))[0:]
    
    6

    max(A.iteritems(), key=operator.itemgetter(1))[0:]
    
    7
    max(A.iteritems(), key=operator.itemgetter(1))[0:]
    
    8
    max(A.iteritems(), key=operator.itemgetter(1))[0:]
    
    9
    max(A, key=A.get)
    
    0

    max(A, key=A.get)
    
    1
    max(A, key=A.get)
    
    2
    max(A, key=A.get)
    
    3
    max(A, key=A.get)
    
    4
    max(A, key=A.get)
    
    5
    max(A, key=A.get)
    
    6__

    import heapq
    heapq.nlargest(5, A, key=A.get)
    
    4
    max(A, key=A.get)
    
    2
    import heapq
    heapq.nlargest(5, A, key=A.get)
    
    2

    import heapq
    heapq.nlargest(5, A, key=A.get)
    
    7
    import heapq
    heapq.nlargest(5, A, key=A.get)
    
    8
    import heapq
    heapq.nlargest(5, A, key=A.get)
    
    9
    newA = dict(sorted(A.iteritems(), key=operator.itemgetter(1), reverse=True)[:5])
    
    0
    newA = dict(sorted(A.iteritems(), key=operator.itemgetter(1), reverse=True)[:5])
    
    1
    newA = dict(sorted(A.iteritems(), key=operator.itemgetter(1), reverse=True)[:5])
    
    2

    newA = dict(sorted(A.iteritems(), key=operator.itemgetter(1), reverse=True)[:5])
    
    3
    max(A, key=A.get)
    
    2
    newA = dict(sorted(A.iteritems(), key=operator.itemgetter(1), reverse=True)[:5])
    
    5___

    The original dictionary is : {'best': 6, 'gfg': 1, 'geeks': 3, 'for': 7, 'is': 4}
    The top N value pairs are  {'for': 7, 'is': 4, 'best': 6}
    

    import heapq
    heapq.nlargest(5, A, key=A.get)
    
    7
    import heapq
    heapq.nlargest(5, A, key=A.get)
    
    8
    >>> from collections import Counter
    >>> A = {'a' : 1, 'b' : 3, 'c' : 2, 'd' : 4, 'e' : 0, 'f' :5}
    >>> dict(Counter(A).most_common(5))
    {'a': 1, 'c': 2, 'b': 3, 'd': 4, 'f': 5}
    
    8
    newA = dict(sorted(A.iteritems(), key=operator.itemgetter(1), reverse=True)[:5])
    
    0
    newA = dict(sorted(A.iteritems(), key=operator.itemgetter(1), reverse=True)[:5])
    
    1
    import operator
    dict(sorted(A.items(), key=operator.itemgetter(1), reverse=True)[:5])
    
    1

    This task can be performed using the
    import operator
    dict(sorted(A.items(), key=operator.itemgetter(1), reverse=True)[:5])
    
    3 function. This is inbuilt function in
    max(A.iteritems(), key=operator.itemgetter(1))[0:]
    
    1 library which internally performs this task and can be used to do it externally. Has the drawback of printing just keys not values.

    Đầu ra:

    Sự kết hợp của phương pháp trên được sử dụng để thực hiện nhiệm vụ cụ thể này. Trong đó, chúng tôi chỉ cần đảo ngược các giá trị từ điển được thể hiện bằng cách sử dụng

    max(A.iteritems(), key=operator.itemgetter(1))[0:]
    
    5 và được truy cập bằng cách sử dụng
    max(A.iteritems(), key=operator.itemgetter(1))[0:]
    
    6

    max(A.iteritems(), key=operator.itemgetter(1))[0:]
    
    7
    max(A.iteritems(), key=operator.itemgetter(1))[0:]
    
    8
    max(A.iteritems(), key=operator.itemgetter(1))[0:]
    
    9
    max(A, key=A.get)
    
    0

    max(A, key=A.get)
    
    1
    max(A, key=A.get)
    
    2
    max(A, key=A.get)
    
    3
    max(A, key=A.get)
    
    4
    max(A, key=A.get)
    
    5
    max(A, key=A.get)
    
    6__

    import heapq
    heapq.nlargest(5, A, key=A.get)
    
    4
    max(A, key=A.get)
    
    2
    import heapq
    heapq.nlargest(5, A, key=A.get)
    
    2

    import heapq
    heapq.nlargest(5, A, key=A.get)
    
    7
    import heapq
    heapq.nlargest(5, A, key=A.get)
    
    8
    import heapq
    heapq.nlargest(5, A, key=A.get)
    
    9
    newA = dict(sorted(A.iteritems(), key=operator.itemgetter(1), reverse=True)[:5])
    
    0
    newA = dict(sorted(A.iteritems(), key=operator.itemgetter(1), reverse=True)[:5])
    
    1
    newA = dict(sorted(A.iteritems(), key=operator.itemgetter(1), reverse=True)[:5])
    
    2

    newA = dict(sorted(A.iteritems(), key=operator.itemgetter(1), reverse=True)[:5])
    
    3
    max(A, key=A.get)
    
    2
    newA = dict(sorted(A.iteritems(), key=operator.itemgetter(1), reverse=True)[:5])
    
    5___

    max(A.iteritems(), key=operator.itemgetter(1))[0:]
    
    0


    Làm thế nào để bạn tìm thấy giá trị cao nhất trong từ điển?

    Cách đơn giản nhất để có được giá trị tối đa của từ điển Python là sử dụng hàm tối đa ().Chức năng cho phép chúng tôi có được giá trị tối đa của bất kỳ điều gì có thể.use the max() function. The function allows us to get the maximum value of any iterable.

    Làm thế nào để chúng ta tìm thấy 2 giá trị cao nhất trong từ điển?

    Chúng ta có thể tìm thấy giá trị lớn thứ hai trong từ điển bằng cách sắp xếp các giá trị của từ điển và sau đó lấy phần tử cuối cùng thứ hai từ danh sách được sắp xếp.sorting the values of the dictionaries and then retrieving the second last element from the sorted list.

    Làm cách nào để nhận được một danh sách các giá trị duy nhất từ một từ điển?

    Phương pháp số 1: Sử dụng Set () + Giá trị () + Từ điển Hiểu về sự kết hợp của các phương thức này có thể cùng nhau giúp chúng ta đạt được nhiệm vụ nhận các giá trị duy nhất.Hàm giá trị giúp chúng ta có được các giá trị của từ điển, được đặt giúp chúng ta có được sự duy nhất của chúng và từ điển hiểu được lặp qua danh sách.Using set() + values() + dictionary comprehension The combination of these methods can together help us achieve the task of getting the unique values. The values function helps us get the values of dictionary, set helps us to get the unique of them, and dictionary comprehension to iterate through the list.

    .Values 0 làm gì trong Python?

    Giá trị () [0] để rút ra giá trị đầu tiên của danh sách bên trong từ điển.pull out the first value of a list inside a dictionary.