Làm thế nào để bạn sửa đổi một từ điển trong python trong khi lặp lại?

Bạn có thể truy cập các giá trị bằng phím. Bạn cũng có thể lặp qua từ điển hoàn chỉnh để truy cập mọi phần tử

Đôi khi trong khi duyệt qua từ điển, bạn có thể cần xóa một khóa khỏi từ điển

Hướng dẫn này sẽ hướng dẫn bạn cách xóa một khóa khỏi từ điển trong khi lặp lại nó

Để xóa khóa trực tiếp mà không cần lặp lại, hãy đọc hướng dẫn freeCodeCamp Cách xóa khóa khỏi Từ điển Python

Cách tạo từ điển

Trước tiên, hãy tạo một từ điển với một số cặp khóa-giá trị bằng cách sử dụng toán tử gán

Để thêm khóa vào từ điển bằng các phương pháp khác nhau, hãy đọc Cách thêm khóa vào từ điển

Sau khi tạo từ điển, bạn có thể sử dụng vòng lặp

    one 1
    two 2
    three 3
    four 4
5 để lặp qua nó và in các giá trị để kiểm tra xem từ điển đã được tạo thành công chưa

Đây là mã

yourdict = {
    "one": 1,
    "two": 2,
    "three": 3,
    "four": 4,
}

for key in yourdict.keys():
    print(key, yourdict[key])

Bạn có thể in các giá trị trong từ điển như sau

đầu ra

    one 1
    two 2
    three 3
    four 4

Để kiểm tra xem một khóa có tồn tại trong từ điển mà không cần lặp lại nó hay không, hãy đọc cách kiểm tra xem khóa có tồn tại trong từ điển bằng Python không

Cách kiểm tra phiên bản Python

Python 2 và Python 3 hoạt động khác nhau khi bạn cố xóa một khóa khỏi từ điển trong khi lặp lại

Để kiểm tra phiên bản Python nào bạn đang sử dụng, hãy sử dụng đoạn mã dưới đây

Đây là mã

import sys
print(sys.version)

đầu ra

3.8.2 (default, Sep  4 2020, 00:03:40) [MSC v.1916 32 bit (Intel)]

Bạn sẽ thấy bất kỳ phiên bản nào bạn có. Và bây giờ bạn đã biết mình đang sử dụng phiên bản Python nào

Bạn có thể làm theo các phương pháp thích hợp được giải thích dưới đây

Cách xóa khóa khỏi Dict dựa trên giá trị khóa – Python 3

Phần này hướng dẫn bạn cách xóa khóa khỏi từ điển bằng Python 3

Bạn cần chuyển đổi

    one 1
    two 2
    three 3
    four 4
6 thành
    one 1
    two 2
    three 3
    four 4
7 bằng cách sử dụng
    one 1
    two 2
    three 3
    four 4
8 và lặp qua từ điển bằng vòng lặp
    one 1
    two 2
    three 3
    four 4
5.  

Trong khi chuyển đổi

    one 1
    two 2
    three 3
    four 4
6 thành
    one 1
    two 2
    three 3
    four 4
7, Python 3 tạo một bản sao mới của các khóa trong danh sách. Sẽ không có tham chiếu đến từ điển trong quá trình lặp lại

Nếu bạn không chuyển đổi nó thành một danh sách, thì phương thức keys chỉ trả về một dạng xem mới của các keys có tham chiếu đến từ điển được lặp lại hiện tại

Bây giờ, trong mỗi lần lặp lại danh sách khóa, bạn có thể kiểm tra xem

import sys
print(sys.version)
2 có bằng với mục bạn cần xóa hay không. Nếu là
import sys
print(sys.version)
3, bạn có thể xóa
import sys
print(sys.version)
2 bằng cách sử dụng câu lệnh
import sys
print(sys.version)
5

Đây là mã

Đoạn mã dưới đây trình bày cách xóa một khóa khỏi từ điển trong khi lặp lại nó bằng Python 3

yourdict = {
    "one": 1,
    "two": 2,
    "three": 3,
    "four": 4,
}

for key in yourdict.keys():
    print(key, yourdict[key])
5

Như bạn có thể thấy trong đoạn mã bên dưới, khóa bốn bị xóa khỏi từ điển trong khi lặp qua nó

đầu ra

yourdict = {
    "one": 1,
    "two": 2,
    "three": 3,
    "four": 4,
}

for key in yourdict.keys():
    print(key, yourdict[key])
6

Nếu bạn sử dụng phương thức

import sys
print(sys.version)
6 để lặp lại và đưa ra câu lệnh
import sys
print(sys.version)
5, bạn sẽ thấy lỗi bên dưới trong Python 3

yourdict = {
    "one": 1,
    "two": 2,
    "three": 3,
    "four": 4,
}

for key in yourdict.keys():
    print(key, yourdict[key])
9

Cách xóa khóa khỏi Dict dựa trên giá trị – Python 3

Phần này hướng dẫn bạn cách xóa khóa khỏi từ điển dựa trên giá trị của khóa trong khi lặp qua từ điển

Trước tiên, bạn cần chuyển đổi các khóa từ điển thành một

    one 1
    two 2
    three 3
    four 4
7 bằng cách sử dụng phương pháp
    one 1
    two 2
    three 3
    four 4
8

Trong mỗi lần lặp lại, bạn có thể kiểm tra xem giá trị của khóa có bằng giá trị mong muốn không. Nếu là

import sys
print(sys.version)
3, bạn có thể đưa ra câu lệnh
import sys
print(sys.version)
5 để xóa khóa

    one 1
    two 2
    three 3
    four 4
4

Khóa bốn bị xóa dựa trên giá trị 4 của nó

đầu ra

    one 1
    two 2
    three 3
    four 4
5

Cách xóa khóa khỏi Dict dựa trên khóa – Python 2

Phần này hướng dẫn bạn cách xóa một khóa khỏi từ điển trong khi lặp lại nó bằng Python 2

Bạn có thể lặp lại trực tiếp thông qua từ điển bằng phương thức

import sys
print(sys.version)
6. Trong Python 2, phương thức
import sys
print(sys.version)
6 tạo một bản sao của các khóa và lặp lại trên
3.8.2 (default, Sep  4 2020, 00:03:40) [MSC v.1916 32 bit (Intel)]
4 thay vì lặp trực tiếp qua các khóa. Vì vậy, sẽ không có tham chiếu trực tiếp đến từ điển trong khi lặp lại

Bây giờ trong mỗi lần lặp lại, bạn có thể kiểm tra xem mục đó có bằng với khóa bạn muốn xóa không. Và nếu nó bằng nhau, bạn có thể đưa ra câu lệnh

import sys
print(sys.version)
5. Nó sẽ xóa khóa khỏi từ điển

Đây là mã

Đoạn mã dưới đây trình bày cách xóa khóa khỏi từ điển trong khi lặp lại nó bằng Python 2

import sys
print(sys.version)
0

Bốn mục chính bị xóa và chỉ các mục khác có sẵn trong từ điển

đầu ra

yourdict = {
    "one": 1,
    "two": 2,
    "three": 3,
    "four": 4,
}

for key in yourdict.keys():
    print(key, yourdict[key])
6

Đây là cách bạn có thể xóa khóa dựa trên khóa

Cách xóa khóa trong Dict dựa trên giá trị – Python 2

Phần này hướng dẫn bạn cách xóa khóa khỏi từ điển dựa trên giá trị của khóa trong khi lặp qua từ điển

Lặp lại từ điển bằng phương pháp

3.8.2 (default, Sep  4 2020, 00:03:40) [MSC v.1916 32 bit (Intel)]
6. Nó sẽ trả về cặp khóa-giá trị trong mỗi lần lặp

Sau đó, bạn có thể kiểm tra xem

3.8.2 (default, Sep  4 2020, 00:03:40) [MSC v.1916 32 bit (Intel)]
7 của lần lặp hiện tại có bằng với giá trị bạn muốn xóa hay không. Sau đó đưa ra câu lệnh
import sys
print(sys.version)
5 để xóa khóa khỏi từ điển

    one 1
    two 2
    three 3
    four 4
1

Khóa ba bị xóa dựa trên giá trị 3 của nó. Tất cả các mục khác có sẵn trong từ điển

đầu ra

    one 1
    two 2
    three 3
    four 4
2

Tại sao Python 3 và Python 2 hoạt động khác nhau?

Khi sử dụng phương thức

import sys
print(sys.version)
6, Python 3 trả về dạng xem các phím. Điều này có nghĩa là có một tham chiếu đến từ điển trong khi lặp lại nó

Mặt khác, Python 2 trả về một bản sao của các khóa, nghĩa là KHÔNG có tham chiếu từ điển nào trong khi lặp lại nó. Điều này có nghĩa là việc xóa sẽ thành công mà không gặp sự cố

Sự kết luận

Trong bài viết này, bạn đã học cách xóa khóa khỏi từ điển trong khi lặp lại khóa đó trong các phiên bản Python khác nhau – Python 2 và Python 3

Bạn cũng đã học cách xóa khóa dựa trên khóa hoặc giá trị của khóa

Nếu bạn thích bài viết này, hãy chia sẻ nó

Bạn có thể xem các hướng dẫn Python khác của tôi tại đây

QUẢNG CÁO

QUẢNG CÁO

QUẢNG CÁO

QUẢNG CÁO


Làm thế nào để bạn sửa đổi một từ điển trong python trong khi lặp lại?
Vikram Aruchamy

Kiến trúc sư giải pháp AWS và người viết kỹ thuật toàn thời gian tại stackvidhya. com và jsowl. com


Nếu bạn đọc đến đây, hãy tweet cho tác giả để cho họ thấy bạn quan tâm. Tweet một lời cảm ơn

Học cách viết mã miễn phí. Chương trình giảng dạy mã nguồn mở của freeCodeCamp đã giúp hơn 40.000 người có được việc làm với tư cách là nhà phát triển. Bắt đầu