Hướng dẫn how to reverse dictionary order in python - cách đảo ngược thứ tự từ điển trong python

Đâ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 to reverse dictionary order in python - cách đảo ngược thứ tự từ điển 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()))

>>> list(reversed(sorted(a.keys())))
[4, 3, 1, 0]

Hướng dẫn how to reverse dictionary order in python - cách đảo ngược thứ tự từ điển 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 to reverse dictionary order in python - cách đảo ngược thứ tự từ điển trong python

Pikamander2

6.5113 Huy hiệu vàng43 Huy hiệu bạc65 Huy hiệu Đồng3 gold badges43 silver badges65 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 to reverse dictionary order in python - cách đảo ngược thứ tự từ điển trong python

RotaretirotaretiRotareti

44,8K19 Huy hiệu vàng105 Huy hiệu bạc103 Huy hiệu đồng19 gold badges105 silver badges103 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 to reverse dictionary order in python - cách đảo ngược thứ tự từ điển trong python

Felix Klingfelix KlingFelix Kling

774K172 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 to reverse dictionary order in python - cách đảo ngược thứ tự từ điển trong python

Felix Klingfelix KlingNeil G

774K172 Huy hiệu vàng1069 Huy hiệu bạc1116 Huy hiệu đồng39 gold badges150 silver badges252 bronze badges

Neil gneil g

31.2K39 Huy hiệu vàng150 Huy hiệu bạc252 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 badge20 silver badges25 bronze badges

1

Rumple Stiltskinrumple Stiltskin

8.8791 Huy hiệu vàng20 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 badges131 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.5113 Huy hiệu vàng43 Huy hiệu bạc65 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 to reverse dictionary order in python - cách đảo ngược thứ tự từ điển trong python

44,8K19 Huy hiệu vàng105 Huy hiệu bạc103 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 badge19 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.5113 Huy hiệu vàng43 Huy hiệu bạc65 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 to reverse dictionary order in python - cách đảo ngược thứ tự từ điển trong python

RotaretirotaretiSYED FAISAL

44,8K19 Huy hiệu vàng105 Huy hiệu bạc103 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 to reverse dictionary order in python - cách đảo ngược thứ tự từ điển trong python

774K172 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 để tôi đảo ngược thứ tự của một từ điển 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 để tôi đảo ngược thứ tự của một từ điển trong từ điển?

Sử dụng dict.Các mục () để có được một danh sách các cặp Tuple từ D và sắp xếp nó bằng hàm Lambda và Sắp xếp ().Sử dụng Dict () để chuyển đổi danh sách được sắp xếp trở lại từ điển.Sử dụng tham số ngược trong Sắp xếp () để sắp xếp từ điển theo thứ tự ngược lại, dựa trên đối số thứ hai.Use the reverse parameter in sorted() to sort the dictionary in reverse order, based on the second argument.

Làm cách nào để thay đổi thứ tự của một từ điển được đặt hàng?

Sắp xếp lại.Có thể thay đổi thứ tự của các khóa theo thứ tự bằng cách di chuyển chúng sang phần đầu hoặc phần cuối của chuỗi bằng cách sử dụng di chuyển_to_end ().Đối số cuối cùng cho Move_to_end () () di chuyển mục đó là mục cuối cùng trong chuỗi khóa (khi đúng) hoặc đầu tiên (khi sai).moving them to either the beginning or the end of the sequence using move_to_end() . The last argument tells move_to_end() whether to move the item to be the last item in the key sequence (when True ) or the first (when False ).

Tra cứu ngược trong từ điển là gì?

Đưa ra một từ điển d và một khóa k, thật dễ dàng để tìm thấy giá trị tương ứng v = d [k].Hoạt động này được gọi là tra cứu. . This operation is called a lookup.