Hướng dẫn how do you reverse a sorted dictionary in python? - làm cách nào để đảo ngược một từ điển được sắp xếp trong python?

56

Mới! Lưu câu hỏi hoặc câu trả lời và sắp xếp nội dung yêu thích của bạn. Tìm hiểu thêm.
Learn more.

Đây là mã của tôi:

a = {0:'000000',1:'11111',3:'333333',4:'444444'}

for i in a:
    print i

nó cho thấy:

0
1
3
4

Nhưng tôi muốn nó hiển thị:

4
3
1
0

vậy tôi có thể làm gì?

Hướng dẫn how do you reverse a sorted dictionary in python? - làm cách nào để đảo ngược một từ điển được sắp xếp trong python?

Jchanger

7299 Huy hiệu bạc28 Huy hiệu đồng9 silver badges28 bronze badges

hỏi ngày 28 tháng 3 năm 2011 lúc 6:57Mar 28, 2011 at 6:57

1

Lưu ý: Câu trả lời này chỉ đúng với Python <3.7. Các dicts được đặt có sắp xếp bắt đầu trong 3.7 (và CPython 3.6 như một chi tiết thực hiện).


Các khóa thứ tự được lặp lại là tùy ý. Đó chỉ là một sự trùng hợp ngẫu nhiên mà họ đã được sắp xếp theo thứ tự.

>>> a = {0:'000000',1:'11111',3:'333333',4:'444444'}
>>> a.keys()
[0, 1, 3, 4]
>>> sorted(a.keys())
[0, 1, 3, 4]
>>> reversed(sorted(a.keys()))
<listreverseiterator object at 0x02B0DB70>
>>> list(reversed(sorted(a.keys())))
[4, 3, 1, 0]

Hướng dẫn how do you reverse a sorted dictionary in python? - làm cách nào để đảo ngược một từ điển được sắp xếp trong python?

Đã trả lời ngày 28 tháng 3 năm 2011 lúc 7:01Mar 28, 2011 at 7:01

1

Kể từ Python 3.7, Dicts bảo tồn trật tự, có nghĩa là bạn có thể làm điều này ngay bây giờ:Python 3.7, dicts preserve order, which means you can do this now:

my_dict = {'a': 1, 'c': 3, 'b': 2}

for k in reversed(list(my_dict.keys())):
    print(k)

Output:

b
c
a

Kể từ Python 3.8, chức năng tích hợp

0
1
3
4
8 cũng chấp nhận các dicts.Python 3.8, the built-in function
0
1
3
4
8 accepts dicts as well.

Đây là một ví dụ về cách bạn có thể sử dụng nó để lặp lại:

my_dict = {'a': 1, 'c': 3, 'b': 2}

for k in reversed(my_dict):
    print(k)

Dưới đây là một ví dụ về cách bạn có thể thay thế dict

my_dict = dict(reversed(my_dict.items()))

Hướng dẫn how do you reverse a sorted dictionary in python? - làm cách nào để đảo ngược một từ điển được sắp xếp trong python?

Pikamander2

6.4533 huy hiệu vàng43 Huy hiệu bạc64 Huy hiệu đồng3 gold badges43 silver badges64 bronze badges

Đã trả lời ngày 26 tháng 7 năm 2019 lúc 16:21Jul 26, 2019 at 16:21

Hướng dẫn how do you reverse a sorted dictionary in python? - làm cách nào để đảo ngược một từ điển được sắp xếp trong python?

RotaretirotaretiRotareti

44.1K19 Huy hiệu vàng104 Huy hiệu bạc102 Huy hiệu đồng19 gold badges104 silver badges102 bronze badges

3

Từ điển không được đặt hàng để bạn không thể đảo ngược chúng. Thứ tự của đầu ra hiện tại là tùy ý.

Điều đó nói rằng, bạn có thể đặt hàng các chìa khóa tất nhiên:

for i in sorted(a.keys(), reverse=True):
    print a[i];

Nhưng điều này cung cấp cho bạn thứ tự ngược của các khóa được sắp xếp, không nhất thiết là thứ tự ngược của các khóa về cách chúng đã được thêm vào. I E. Nó sẽ không cung cấp cho bạn

0
1
3
4
9 nếu từ điển của bạn là:

a = {3:'3', 0:'0', 1:'1'}

Đã trả lời ngày 28 tháng 3 năm 2011 lúc 7:00Mar 28, 2011 at 7:00

Hướng dẫn how do you reverse a sorted dictionary in python? - làm cách nào để đảo ngược một từ điển được sắp xếp trong python?

Felix Klingfelix KlingFelix Kling

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

1

Try:

0
1
3
4
0

Đã trả lời ngày 28 tháng 3 năm 2011 lúc 7:00Mar 28, 2011 at 7:00

Hướng dẫn how do you reverse a sorted dictionary in python? - làm cách nào để đảo ngược một từ điển được sắp xếp trong python?

Felix Klingfelix KlingNeil G

771K172 Huy hiệu vàng1069 Huy hiệu bạc1116 Huy hiệu Đồng38 gold badges150 silver badges251 bronze badges

Neil gneil g

31.1K38 Huy hiệu vàng150 Huy hiệu bạc251 Huy hiệu ĐồngMar 28, 2011 at 7:03

Python dict không được đặt hàng trong 2.x. Nhưng có một triển khai Dict theo trật tự trong 3.1.Rumple Stiltskin

Đã trả lời ngày 28 tháng 3 năm 2011 lúc 7:031 gold badge19 silver badges25 bronze badges

1

Rumple Stiltskinrumple Stiltskin

8.8391 Huy hiệu vàng19 Huy hiệu bạc25 Huy hiệu đồng

0
1
3
4
1

Từ điển Python không có bất kỳ 'thứ tự' nào liên quan đến chúng. Đó chỉ là một 'sự trùng hợp ngẫu nhiên' mà dict đang in cùng một trật tự. Không có gì đảm bảo rằng các mặt hàng trong một từ điển với ra khỏi bất kỳ thứ tự nào.

Đã trả lời ngày 28 tháng 3 năm 2011 lúc 7:01Mar 28, 2011 at 7:01

Kể từ Python 3.7, Dicts bảo tồn trật tự, có nghĩa là bạn có thể làm điều này ngay bây giờ:Chris W.

Kể từ Python 3.8, chức năng tích hợp

0
1
3
4
8 cũng chấp nhận các dicts.34 gold badges96 silver badges130 bronze badges

2

Đây là một ví dụ về cách bạn có thể sử dụng nó để lặp lại:

Dưới đây là một ví dụ về cách bạn có thể thay thế dict

6.4533 huy hiệu vàng43 Huy hiệu bạc64 Huy hiệu đồng

0
1
3
4
3

Đã trả lời ngày 26 tháng 7 năm 2019 lúc 16:21

RotaretirotaretiDec 14, 2019 at 15:20

Hướng dẫn how do you reverse a sorted dictionary in python? - làm cách nào để đảo ngược một từ điển được sắp xếp trong python?

44.1K19 Huy hiệu vàng104 Huy hiệu bạc102 Huy hiệu đồng

4
3
1
0
2

Từ điển không được đặt hàng để bạn không thể đảo ngược chúng. Thứ tự của đầu ra hiện tại là tùy ý.

4
3
1
0
3

Điều đó nói rằng, bạn có thể đặt hàng các chìa khóa tất nhiên:May 29, 2020 at 11:12

Nhưng điều này cung cấp cho bạn thứ tự ngược của các khóa được sắp xếp, không nhất thiết là thứ tự ngược của các khóa về cách chúng đã được thêm vào. I E. Nó sẽ không cung cấp cho bạn

0
1
3
4
9 nếu từ điển của bạn là:A H

Đã trả lời ngày 28 tháng 3 năm 2011 lúc 7:001 gold badge18 silver badges33 bronze badges

0
1
3
4
4

Đã trả lời ngày 28 tháng 3 năm 2011 lúc 7:01Mar 28, 2011 at 7:01

Kể từ Python 3.7, Dicts bảo tồn trật tự, có nghĩa là bạn có thể làm điều này ngay bây giờ:Simon

Kể từ Python 3.8, chức năng tích hợp

0
1
3
4
8 cũng chấp nhận các dicts.4 gold badges33 silver badges38 bronze badges

3

Đây là một ví dụ về cách bạn có thể sử dụng nó để lặp lại:

0
1
3
4
5

Dưới đây là một ví dụ về cách bạn có thể thay thế dict

0
1
3
4
6

6.4533 huy hiệu vàng43 Huy hiệu bạc64 Huy hiệu đồng

0
1
3
4
7

Đã trả lời ngày 26 tháng 7 năm 2019 lúc 16:21Dec 3, 2020 at 8:27

Hướng dẫn how do you reverse a sorted dictionary in python? - làm cách nào để đảo ngược một từ điển được sắp xếp trong python?

RotaretirotaretiSYED FAISAL

44.1K19 Huy hiệu vàng104 Huy hiệu bạc102 Huy hiệu đồng5 silver badges7 bronze badges

Từ điển không được đặt hàng để bạn không thể đảo ngược chúng. Thứ tự của đầu ra hiện tại là tùy ý.

Điều đó nói rằng, bạn có thể đặt hàng các chìa khóa tất nhiên: a = {0:'000000',1:'11111',3:'333333',4:'444444'}

Nhưng điều này cung cấp cho bạn thứ tự ngược của các khóa được sắp xếp, không nhất thiết là thứ tự ngược của các khóa về cách chúng đã được thêm vào. I E. Nó sẽ không cung cấp cho bạn

0
1
3
4
9 nếu từ điển của bạn là:

Đã trả lời ngày 28 tháng 3 năm 2011 lúc 7:00 [4, 3, 1, 0]

Felix Klingfelix KlingSep 13, 2018 at 10:19

Hướng dẫn how do you reverse a sorted dictionary in python? - làm cách nào để đảo ngược một từ điển được sắp xếp trong python?

771K172 Huy hiệu vàng1069 Huy hiệu bạc1116 Huy hiệu ĐồngJai K

Neil gneil g4 silver badges12 bronze badges

0

Làm thế nào để bạn đảo ngược một từ điển trong Python?

1) Sử dụng Phương thức OREPERedDdict () và Itit () sau này, bạn sử dụng hàm đảo ngược () là phương thức Python được xây dựng có thể lấy đối số như các loại dữ liệu trình tự như Tuple, Danh sách, Từ điển, v.v. và trả về ngược lại của nó. Hãy nhớ rằng phương thức đảo ngược () không sửa đổi trình lặp gốc.Using OrderedDict() and items() method Later you make use of a reversed() function which is an in-built python method that takes an argument as the sequence data types like tuple, lists, dictionaries, etc and returns the reverse of it. Remember that reversed() method does not modify the original iterator.

Làm thế nào để bạn đảo ngược thứ tự của một khóa trong Python?

Phương thức số 1: Sử dụng OrderedDict () + Reversed () + item () Phương thức này dành cho các phiên bản cũ của Python.Các phiên bản cũ hơn không giữ thứ tự trong từ điển, do đó phải chuyển đổi thành lệnh để thực hiện nhiệm vụ này.Using OrderedDict() + reversed() + items() This method is for older versions of Python. Older versions don't keep order in dictionaries, hence have to converted to OrderedDict to execute this task.

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

Để sắp xếp một từ điển trong Python:..
Tạo một từ điển của các cặp giá trị khóa ..
Quyết định xem bạn muốn sắp xếp theo phím hoặc giá trị ..
Chọn giữa đơn đặt hàng tăng dần và giảm dần ..
Gọi hàm được sắp xếp tích hợp () trên các mục từ điển ..

Dicted Dicted Return trong Python được sắp xếp gì?

Chúng tôi đã học cách hàm được sắp xếp () hoạt động trên bất kỳ đối tượng có thể lặp lại nào (mà không sửa đổi nó) và trả về một danh sách mới, nhưng phương thức sort () chỉ hoạt động trên danh sách và sửa đổi chúng tại chỗ và không trả về không.Cuối cùng, chúng ta đã thấy cách chúng ta có thể sử dụng hàm Sắp xếp () để sắp xếp từ điển trong Python.216.a new list, but the sort() method only works on lists and modifies them in-place and returns None. Lastly, we saw how we can use the sorted() function to sort dictionaries in python. 216.