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

Từ điển trong python là một công cụ tuyệt vời để lưu trữ ánh xạ khóa-giá trị. Trong bài viết này, chúng tôi sẽ thảo luận về cách đảo ngược từ điển trong python. Chúng tôi sẽ làm điều đó bằng cách sử dụng các ví dụ khác nhau để chúng tôi có thể hiểu các cách tiếp cận theo cách tốt hơn

Làm cách nào để đảo ngược từ điển trong Python?

Khi chúng tôi đảo ngược một từ điển python nhất định, chúng tôi thay đổi thứ tự các giá trị trong cặp khóa-giá trị. Trong mỗi cặp khóa-giá trị, khóa hiện tại trở thành giá trị và giá trị hiện tại trở thành khóa trong từ điển mới. Ví dụ, nhìn vào từ điển sau

myDict = {1: 1, 2: 4, 3: 9, 4: 16, 5: 25}

Sau khi chúng tôi đảo ngược từ điển này, nó sẽ trông như thế này

reversedDict = {1: 1, 4: 2, 9: 3, 16: 4, 25: 5}

Để đảo ngược từ điển trong python, chúng ta có thể sử dụng vòng lặp for hoặc hiểu từ điển. Hãy để chúng tôi thảo luận về cả hai cách tiếp cận từng cái một

Đảo ngược từ điển trong Python bằng vòng lặp For

Để đảo ngược từ điển bằng vòng lặp for, trước tiên chúng ta sẽ tạo một từ điển trống để lưu trữ các cặp khóa-giá trị được đảo ngược. Sau đó, chúng tôi sẽ duyệt qua từng cặp khóa-giá trị trong từ điển đầu vào. Trong khi truyền tải, chúng tôi sẽ đặt mỗi giá trị của từ điển đầu vào thành một khóa trong từ điển đầu ra và khóa được liên kết với giá trị trong từ điển đầu vào sẽ được tạo thành giá trị được liên kết trong từ điển đầu ra như sau

myDict = {1: 1, 2: 4, 3: 9, 4: 16, 5: 25}
print["The input dictionary is:"]
print[myDict]
reversedDict = dict[]
for key in myDict:
    val = myDict[key]
    reversedDict[val] = key
print["The reversed dictionary is:"]
print[reversedDict]

đầu ra

The input dictionary is:
{1: 1, 2: 4, 3: 9, 4: 16, 5: 25}
The reversed dictionary is:
{1: 1, 4: 2, 9: 3, 16: 4, 25: 5}

Sử dụng phương thức keys[] và values[]

Bạn cũng có thể sử dụng phương thức

reversedDict = {1: 1, 4: 2, 9: 3, 16: 4, 25: 5}
0 và
reversedDict = {1: 1, 4: 2, 9: 3, 16: 4, 25: 5}
1 với vòng lặp for để đảo ngược từ điển. Theo cách tiếp cận này, trước tiên chúng tôi sẽ tạo một danh sách các khóa và danh sách các giá trị của từ điển đầu vào. Sau đó, chúng tôi sẽ biến từng thành phần của danh sách giá trị thành một khóa trong từ điển đầu ra. Phần tử được liên kết trong danh sách các khóa sẽ được tạo thành giá trị tương ứng trong từ điển đầu ra như sau

myDict = {1: 1, 2: 4, 3: 9, 4: 16, 5: 25}
print["The input dictionary is:"]
print[myDict]
reversedDict = dict[]
key_list = list[myDict.keys[]]
val_list = list[myDict.values[]]
n = len[key_list]
for i in range[n]:
    key = val_list[i]
    val = key_list[i]
    reversedDict[key] = val
print["The reversed dictionary is:"]
print[reversedDict]

đầu ra

The input dictionary is:
{1: 1, 2: 4, 3: 9, 4: 16, 5: 25}
The reversed dictionary is:
{1: 1, 4: 2, 9: 3, 16: 4, 25: 5}

Sử dụng phương thức items[]

Bạn cũng có thể sử dụng phương pháp

reversedDict = {1: 1, 4: 2, 9: 3, 16: 4, 25: 5}
2 để đảo ngược từ điển. Trong cách tiếp cận này, chúng tôi sẽ lấy từng mục từ từ điển đầu vào một. Sau đó ta sẽ đảo ngược cặp key-value như sau

myDict = {1: 1, 2: 4, 3: 9, 4: 16, 5: 25}
print["The input dictionary is:"]
print[myDict]
reversedDict = dict[]
for item in myDict.items[]:
    key = item[1]
    val = item[0]
    reversedDict[key] = val
print["The reversed dictionary is:"]
print[reversedDict]

đầu ra

The input dictionary is:
{1: 1, 2: 4, 3: 9, 4: 16, 5: 25}
The reversed dictionary is:
{1: 1, 4: 2, 9: 3, 16: 4, 25: 5}

Sử dụng từ điển hiểu

Thay vì sử dụng vòng lặp for, chúng ta có thể đảo ngược từ điển trong một câu lệnh python bằng cách hiểu từ điển. Ở đây, chúng ta sẽ tạo từ điển đầu ra bằng cách đảo ngược khóa và giá trị trong từng cặp khóa-giá trị của từ điển như sau

reversedDict = {1: 1, 4: 2, 9: 3, 16: 4, 25: 5}
1

đầu ra

The input dictionary is:
{1: 1, 2: 4, 3: 9, 4: 16, 5: 25}
The reversed dictionary is:
{1: 1, 4: 2, 9: 3, 16: 4, 25: 5}

Sự kết luận

Trong bài viết này, chúng tôi đã thảo luận về bốn cách để đảo ngược từ điển trong python. Để tìm hiểu thêm về từ điển trong python, bạn có thể đọc bài viết này về cách chuyển đổi từ điển thành danh sách các bộ dữ liệu. Bạn cũng có thể thích bài viết này về hiểu danh sách trong python

Có liên quan

Đào tạo Python được đề xuất

Khóa học. Python 3 cho người mới bắt đầu

Hơn 15 giờ nội dung video với hướng dẫn có hướng dẫn cho người mới bắt đầu. Tìm hiểu cách tạo các ứng dụng trong thế giới thực và nắm vững kiến ​​thức cơ bản

Trong bài viết này, chúng ta sẽ tìm hiểu cách đảo ngược từ điển bằng các hàm có sẵn như

myDict = {1: 1, 2: 4, 3: 9, 4: 16, 5: 25}
print["The input dictionary is:"]
print[myDict]
reversedDict = dict[]
for key in myDict:
    val = myDict[key]
    reversedDict[val] = key
print["The reversed dictionary is:"]
print[reversedDict]
0,
myDict = {1: 1, 2: 4, 3: 9, 4: 16, 5: 25}
print["The input dictionary is:"]
print[myDict]
reversedDict = dict[]
for key in myDict:
    val = myDict[key]
    reversedDict[val] = key
print["The reversed dictionary is:"]
print[reversedDict]
1,
myDict = {1: 1, 2: 4, 3: 9, 4: 16, 5: 25}
print["The input dictionary is:"]
print[myDict]
reversedDict = dict[]
for key in myDict:
    val = myDict[key]
    reversedDict[val] = key
print["The reversed dictionary is:"]
print[reversedDict]
2 và các phương pháp đọc hiểu

Hàm

myDict = {1: 1, 2: 4, 3: 9, 4: 16, 5: 25}
print["The input dictionary is:"]
print[myDict]
reversedDict = dict[]
for key in myDict:
    val = myDict[key]
    reversedDict[val] = key
print["The reversed dictionary is:"]
print[reversedDict]
0 chấp nhận chuỗi tham số và trả về chuỗi theo thứ tự ngược lại

Phương thức

myDict = {1: 1, 2: 4, 3: 9, 4: 16, 5: 25}
print["The input dictionary is:"]
print[myDict]
reversedDict = dict[]
for key in myDict:
    val = myDict[key]
    reversedDict[val] = key
print["The reversed dictionary is:"]
print[reversedDict]
1 áp dụng một chức năng nhất định trên mỗi mục của iterable và iterable có thể là danh sách, bộ, bộ hoặc bộ cố định

Nó trả về kết quả theo iterable

Hàm

myDict = {1: 1, 2: 4, 3: 9, 4: 16, 5: 25}
print["The input dictionary is:"]
print[myDict]
reversedDict = dict[]
for key in myDict:
    val = myDict[key]
    reversedDict[val] = key
print["The reversed dictionary is:"]
print[reversedDict]
2 chấp nhận một đối tượng có thể lặp lại và trả về một đối tượng có thể lặp lại và các phần tử từ trình vòng lặp đã truyền được ghép nối với nhau. Nó trả về một danh sách các iterable

Thí dụ. Đảo ngược từ điển bằng cách sử dụng Hiểu

Khái niệm hiểu cũng được áp dụng cho từ điển. Phương pháp này rất dễ dàng, nó chỉ trao đổi các cặp khóa và giá trị

reversedDict = {1: 1, 4: 2, 9: 3, 16: 4, 25: 5}
3

Khi chúng tôi chạy mã, nó sẽ hiển thị kết quả sau


Từ điển. {100. 'trăn', 200. 'Java', 300. 'Hồng ngọc', 400. 'C', 500. 'C++', 600. 'R'}
Đảo ngược từ điển. {'trăn'. 100, 'Java'. 200, 'Hồng ngọc'. 300, 'C'. 400, 'C++'. 500, 'R'. 600}

Thí dụ. Đảo ngược một từ điển bằng cách sử dụng hàm Reverse[] và map[]

Ví dụ dưới đây cho thấy cách đảo ngược từ điển bằng phương thức

myDict = {1: 1, 2: 4, 3: 9, 4: 16, 5: 25}
print["The input dictionary is:"]
print[myDict]
reversedDict = dict[]
for key in myDict:
    val = myDict[key]
    reversedDict[val] = key
print["The reversed dictionary is:"]
print[reversedDict]
1 và hàm
myDict = {1: 1, 2: 4, 3: 9, 4: 16, 5: 25}
print["The input dictionary is:"]
print[myDict]
reversedDict = dict[]
for key in myDict:
    val = myDict[key]
    reversedDict[val] = key
print["The reversed dictionary is:"]
print[reversedDict]
0

reversedDict = {1: 1, 4: 2, 9: 3, 16: 4, 25: 5}
4

Trong ví dụ trên, đầu tiên, chúng tôi đã xác định từ điển với các cặp khóa-giá trị

Tiếp theo, chúng tôi đang sử dụng phương pháp

myDict = {1: 1, 2: 4, 3: 9, 4: 16, 5: 25}
print["The input dictionary is:"]
print[myDict]
reversedDict = dict[]
for key in myDict:
    val = myDict[key]
    reversedDict[val] = key
print["The reversed dictionary is:"]
print[reversedDict]
1 để đảo ngược từ điển. Ở đây, trong phần tham số, chúng tôi đã đặt hàm đảo ngược và có thể lặp lại như dict_1. mặt hàng

Chúng tôi đang lưu trữ đầu ra của phương thức

myDict = {1: 1, 2: 4, 3: 9, 4: 16, 5: 25}
print["The input dictionary is:"]
print[myDict]
reversedDict = dict[]
for key in myDict:
    val = myDict[key]
    reversedDict[val] = key
print["The reversed dictionary is:"]
print[reversedDict]
1 trong đầu ra biến

Trong bước tiếp theo, chúng tôi sẽ chuyển đổi lại chúng thành kiểu dữ liệu từ điển

Khi chúng tôi chạy mã, nó sẽ hiển thị kết quả sau


Từ điển. {100. 'trăn', 200. 'Java', 300. 'Hồng ngọc', 400. 'C', 500. 'C++', 600. 'R'}
Từ điển đảo ngược. {'trăn'. 100, 'Java'. 200, 'Hồng ngọc'. 300, 'C'. 400, 'C++'. 500, 'R'. 600}

Thí dụ. Đảo ngược từ điển bằng hàm zip[]

Ví dụ dưới đây cho thấy cách đảo ngược từ điển bằng hàm

myDict = {1: 1, 2: 4, 3: 9, 4: 16, 5: 25}
print["The input dictionary is:"]
print[myDict]
reversedDict = dict[]
for key in myDict:
    val = myDict[key]
    reversedDict[val] = key
print["The reversed dictionary is:"]
print[reversedDict]
2

reversedDict = {1: 1, 4: 2, 9: 3, 16: 4, 25: 5}
5

Trong ví dụ trên, chúng tôi đã xác định từ điển với các cặp khóa-giá trị. Sử dụng phương thức

reversedDict = {1: 1, 4: 2, 9: 3, 16: 4, 25: 5}
45, chúng tôi sẽ nhận được các giá trị từ từ điển và điều đó sẽ lưu trữ trong biến get_values

Sử dụng phương thức

reversedDict = {1: 1, 4: 2, 9: 3, 16: 4, 25: 5}
46, chúng tôi lấy các khóa từ từ điển và điều đó sẽ lưu trữ trong biến get_keys

Trong bước tiếp theo, chúng ta sẽ chuyển một chuỗi các giá trị và khóa cho hàm

myDict = {1: 1, 2: 4, 3: 9, 4: 16, 5: 25}
print["The input dictionary is:"]
print[myDict]
reversedDict = dict[]
for key in myDict:
    val = myDict[key]
    reversedDict[val] = key
print["The reversed dictionary is:"]
print[reversedDict]
2. Hàm
myDict = {1: 1, 2: 4, 3: 9, 4: 16, 5: 25}
print["The input dictionary is:"]
print[myDict]
reversedDict = dict[]
for key in myDict:
    val = myDict[key]
    reversedDict[val] = key
print["The reversed dictionary is:"]
print[reversedDict]
2 chấp nhận các chuỗi này và các phần tử có trong chuỗi sẽ được ghép nối với nhau

Tiếp theo, chúng tôi đang chuyển đổi đầu ra của hàm

myDict = {1: 1, 2: 4, 3: 9, 4: 16, 5: 25}
print["The input dictionary is:"]
print[myDict]
reversedDict = dict[]
for key in myDict:
    val = myDict[key]
    reversedDict[val] = key
print["The reversed dictionary is:"]
print[reversedDict]
2 sang từ điển

Khi chúng tôi chạy mã, nó sẽ hiển thị kết quả sau


Từ điển. {100. 'trăn', 200. 'Java', 300. 'Hồng ngọc', 400. 'C', 500. 'C++', 600. 'R'}
----Lấy giá trị từ từ điển------
Giá trị từ từ điển. dict_values[['python', 'Java', 'Ruby', 'C', 'C++', 'R']]
----Lấy khóa từ từ điển---- . dict_keys[[100, 200, 300, 400, 500, 600]]
Values from dictionary: dict_keys[[100, 200, 300, 400, 500, 600]]
Sử dụng hàm zip[]
Đảo ngược từ điển. {'trăn'. 100, 'Java'. 200, 'Hồng ngọc'. 300, 'C'. 400, 'C++'. 500, 'R'. 600}

Thí dụ. Đảo ngược từ điển không có chức năng tích hợp

Ví dụ dưới đây cho thấy cách đảo ngược từ điển bằng vòng lặp

reversedDict = {1: 1, 4: 2, 9: 3, 16: 4, 25: 5}
50

reversedDict = {1: 1, 4: 2, 9: 3, 16: 4, 25: 5}
9

Khi chúng tôi chạy mã, nó sẽ hiển thị kết quả sau


Từ điển. {100. 'trăn', 200. 'Java', 300. 'Hồng ngọc', 400. 'C', 500. 'C++', 600. 'R'}
Đảo ngược từ điển. {'trăn'. 100, 'Java'. 200, 'Hồng ngọc'. 300, 'C'. 400, 'C++'. 500, 'R'. 600}

Sự kết luận

Trong hướng dẫn này, chúng ta đã học cách đảo ngược từ điển python bằng cách sử dụng phương pháp hiểu, các hàm Reverse[], map[], zip[] và sử dụng vòng lặp for

Bạn có thể đảo ngược các khóa và giá trị trong từ điển Python không?

Bạn cũng có thể sử dụng phương thức keys[] và values[] với vòng lặp for để đảo ngược từ điển . Theo cách tiếp cận này, trước tiên chúng tôi sẽ tạo một danh sách các khóa và danh sách các giá trị của từ điển đầu vào. Sau đó, chúng tôi sẽ biến từng thành phần của danh sách giá trị thành một khóa trong từ điển đầu ra.

Các khóa có được sắp xếp theo thứ tự trong Python không?

Trả lời. Không, không có thứ tự đảm bảo nào cho danh sách các khóa được trả về bởi hàm keys[] . Trong hầu hết các trường hợp, danh sách khóa được trả về theo thứ tự như khi chèn, tuy nhiên, hành vi đó KHÔNG được đảm bảo và chương trình của bạn không nên phụ thuộc vào.

Chủ Đề