Hướng dẫn python ordereddict sort by value - python đã ra lệnh sắp xếp theo giá trị

Giả sử rằng tôi có một dict.

data = {1:'b', 2:'a'}

Và tôi muốn sắp xếp dữ liệu theo 'B' và 'A' vì vậy tôi nhận được kết quả

'a','b'

Làm thế nào để làm điều đó? Bất kỳ ý tưởng?
Any ideas?

Hướng dẫn python ordereddict sort by value - python đã ra lệnh sắp xếp theo giá trị

Jamylak

124K29 Huy hiệu vàng227 Huy hiệu bạc227 Huy hiệu Đồng29 gold badges227 silver badges227 bronze badges

Khi được hỏi ngày 27 tháng 5 năm 2013 lúc 11:22May 27, 2013 at 11:22

Hướng dẫn python ordereddict sort by value - python đã ra lệnh sắp xếp theo giá trị

3

Để sử dụng các giá trị

sorted(data.values())

Để nhận các phím phù hợp, hãy sử dụng hàm

'a','b'
5

sorted(data, key=data.get)

Để có được một danh sách các bộ dữ liệu được đặt hàng theo giá trị

sorted(data.items(), key=lambda x:x[1])

Liên quan: Xem cuộc thảo luận ở đây: Từ điển được đặt hàng trong Python 3.6+

Đã trả lời ngày 27 tháng 5 năm 2013 lúc 11:23May 27, 2013 at 11:23

Hướng dẫn python ordereddict sort by value - python đã ra lệnh sắp xếp theo giá trị

John La Rooyjohn La RooyJohn La Rooy

286K51 Huy hiệu vàng358 Huy hiệu bạc499 Huy hiệu đồng51 gold badges358 silver badges499 bronze badges

3

Nếu bạn thực sự muốn sắp xếp từ điển thay vì chỉ nhận được danh sách được sắp xếp, hãy sử dụng

'a','b'
6

>>> from collections import OrderedDict
>>> from operator import itemgetter
>>> data = {1: 'b', 2: 'a'}
>>> d = OrderedDict(sorted(data.items(), key=itemgetter(1)))
>>> d
OrderedDict([(2, 'a'), (1, 'b')])
>>> d.values()
['a', 'b']

Đã trả lời ngày 27 tháng 5 năm 2013 lúc 11:53May 27, 2013 at 11:53

Hướng dẫn python ordereddict sort by value - python đã ra lệnh sắp xếp theo giá trị

Jamylakjamylakjamylak

124K29 Huy hiệu vàng227 Huy hiệu bạc227 Huy hiệu Đồng29 gold badges227 silver badges227 bronze badges

4

Khi được hỏi ngày 27 tháng 5 năm 2013 lúc 11:22

sorted(data.items(), key=lambda x:x[1])

Để sử dụng các giá trịMay 27, 2013 at 12:35

njzk2njzk2njzk2

Để nhận các phím phù hợp, hãy sử dụng hàm

'a','b'
57 gold badges65 silver badges104 bronze badges

Để có được một danh sách các bộ dữ liệu được đặt hàng theo giá trị

sorted(data.values())

Liên quan: Xem cuộc thảo luận ở đây: Từ điển được đặt hàng trong Python 3.6+

['a','b']

Đã trả lời ngày 27 tháng 5 năm 2013 lúc 11:23May 27, 2013 at 11:23

John La Rooyjohn La Rooyeumiro

286K51 Huy hiệu vàng358 Huy hiệu bạc499 Huy hiệu đồng33 gold badges294 silver badges259 bronze badges

Nếu bạn thực sự muốn sắp xếp từ điển thay vì chỉ nhận được danh sách được sắp xếp, hãy sử dụng

'a','b'
6

Đã trả lời ngày 27 tháng 5 năm 2013 lúc 11:53

d = sorted(data, key = data.get)

for key in d:
    text = data[key]

Jamylakjamylak

Từ nhận xét của bạn đến câu trả lời của Gnibbler, tôi muốn nói rằng bạn muốn một danh sách các cặp giá trị khóa được sắp xếp theo giá trị:1 silver badge2 bronze badges

Đã trả lời ngày 27 tháng 5 năm 2013 lúc 12:35May 27, 2013 at 13:01

Hướng dẫn python ordereddict sort by value - python đã ra lệnh sắp xếp theo giá trị

38.3k7 Huy hiệu vàng65 Huy hiệu bạc104 Huy hiệu đồngkingRauk

Sắp xếp các giá trị:1 gold badge11 silver badges23 bronze badges

trả lại

Eumiroeumiro

'a','b'
0

198K33 Huy hiệu vàng294 Huy hiệu bạc259 Huy hiệu Đồng

Cảm ơn tất cả các câu trả lời. Bạn là tất cả các anh hùng của tôi ;-)May 27, 2013 at 11:37

Hướng dẫn python ordereddict sort by value - python đã ra lệnh sắp xếp theo giá trị

Cuối cùng, đã làm một cái gì đó như thế này:Morgan Wilde

rroy9 gold badges51 silver badges98 bronze badges

3

51 Huy hiệu bạc2 Huy hiệu đồng

'a','b'
1

Đã trả lời ngày 27 tháng 5 năm 2013 lúc 13:01

KingraukkingraukSep 29, 2017 at 20:42

1.2291 Huy hiệu vàng11 Huy hiệu bạc23 Huy hiệu đồngMarius

Tôi cũng nghĩ rằng điều quan trọng cần lưu ý là loại đối tượng Python

'a','b'
7 là bảng băm (nhiều hơn về điều này ở đây), và do đó không có khả năng được sắp xếp mà không chuyển đổi các khóa/giá trị của nó thành danh sách. Điều này cho phép là
'a','b'
7 truy xuất vật phẩm trong thời gian không đổi
'a','b'
9, bất kể kích thước/số lượng phần tử trong từ điển.1 silver badge4 bronze badges

Phải nói rằng, một khi bạn sắp xếp các khóa của nó -

sorted(data.values())
0 hoặc giá trị -
sorted(data.values())
1, sau đó bạn có thể sử dụng danh sách đó để truy cập các khóa/giá trị trong các mẫu thiết kế như sau:

Hi vọng điêu nay co ich.

'a','b'
2

Đã trả lời ngày 27 tháng 5 năm 2013 lúc 11:37

'a','b'
3

Morgan Wildemorgan WildeNov 10, 2016 at 19:08

16.2k9 Huy hiệu vàng51 Huy hiệu bạc98 Huy hiệu ĐồngChristian Long

Bạn có thể tạo danh sách được sắp xếp từ các giá trị và xây dựng lại từ điển:5 gold badges61 silver badges56 bronze badges

Đầu ra: newdictionary = {'one': '1', 'hai': '2', '1Four': '4', 'năm': '5'}

'a','b'
4

Đã trả lời ngày 29 tháng 9 năm 2017 lúc 20:42May 24, 2017 at 3:35

Hướng dẫn python ordereddict sort by value - python đã ra lệnh sắp xếp theo giá trị

Mariusmariusxiyurui

811 Huy hiệu bạc4 Huy hiệu đồng3 silver badges4 bronze badges

Bạn có thể sắp xếp một python đặt hàng không?

Chức năng sắp xếp tích hợp () của Python có thể được sử dụng để sắp xếp các đối tượng có thể đi được bằng một khóa, chẳng hạn như danh sách, bộ dữ liệu và từ điển., such as lists, tuples, and dictionaries.

Được đặt hàng được sắp xếp?

Bạn sẽ phải tạo một cái mới kể từ khi đặt hàng được sắp xếp theo thứ tự chèn.OrderedDict is sorted by insertion order.

Làm thế nào để bạn sắp xếp một giá trị trong Python?

Để sắp xếp DataFrame dựa trên các giá trị trong một cột duy nhất, bạn sẽ sử dụng .sort_values ().Theo mặc định, điều này sẽ trả về một DataFrame mới được sắp xếp theo thứ tự tăng dần.Nó không sửa đổi DataFrame gốc.use . sort_values() . By default, this will return a new DataFrame sorted in ascending order. It does not modify the original DataFrame.

Làm thế nào để bạn sắp xếp một từ điển theo giá trị trong Python giảm dần?

Sắp xếp một chế độ theo giá trị giảm dần bằng cách sử dụng danh sách hiểu.Cách nhanh nhất là lặp lại các cặp giá trị khóa của dict hiện tại của bạn và cuộc gọi được sắp xếp vượt qua các giá trị từ điển và cài đặt đảo ngược = true.Nếu bạn đang sử dụng Python 3.7, Dict s thông thường được đặt hàng theo mặc định.iterate over the key-value pairs of your current dict and call sorted passing the dictionary values and setting reversed=True . If you are using Python 3.7, regular dict s are ordered by default.