Computer >> Máy Tính >  >> Lập trình >> Python

Xóa các mục khỏi từ điển trong khi lặp lại bằng Python

Từ điển python là một tập hợp không có thứ tự, có thể thay đổi và được lập chỉ mục. Chúng có các khóa và giá trị và mỗi mục được giới thiệu bằng cách sử dụng khóa. Trong bài viết này, chúng ta sẽ khám phá các cách xóa các mục trong từ điển.

Sử dụng del với các phím

Trong cách tiếp cận này, chúng tôi nắm bắt các giá trị chính cần được xóa. Khi chúng tôi áp dụng hàm del, các cặp giá trị khóa cho các khóa đó sẽ bị xóa.

Ví dụ

# Given dictionary
ADict = {1: 'Mon', 2: 'Tue', 3: 'Wed',4:'Thu',5:'Fri'}

# Get keys with value in 2,3.
to_del = [key for key in ADict if key in(2,3)]

# Delete keys
for key in to_del: del ADict[key]

# New Dictionary
print(ADict)

Đầu ra

Chạy đoạn mã trên cho chúng ta kết quả sau -

{1: 'Mon', 4: 'Thu', 5: 'Fri'}

Sử dụng danh sách có khóa

Chúng ta có thể tạo danh sách chứa các khóa từ từ điển và cũng có thể sử dụng biểu thức điều kiện để chọn các khóa sẽ được sử dụng để xóa. Trong ví dụ dưới đây, chúng tôi chỉ xem xét các khóa có giá trị chẵn bằng cách so sánh phần còn lại từ phép chia với hai bằng không.

Ví dụ

# Given dictionary
ADict = {1: 'Mon', 2: 'Tue', 3: 'Wed',4:'Thu',5:'Fri'}

# Get keys with even value
for key in list(ADict):
if (key%2) == 0:
del ADict[key]

# New Dictionary
print(ADict)

Đầu ra

Chạy đoạn mã trên cho chúng ta kết quả sau -

{1: 'Mon', 3: 'Wed', 5: 'Fri'}

Sử dụng các mục để Xóa

Thay vì các khóa, chúng ta cũng có thể sử dụng các mục của từ điển để xóa các giá trị. Nhưng sau khi chọn mục, chúng ta phải gián tiếp sử dụng các phím để chọn mục cần xóa.

Ví dụ

# Given dictionary
ADict = {1: 'Mon', 2: 'Tue', 3: 'Wed',4:'Thu',5:'Fri'}

NewDict = []
# Get keys with even value
for key,val in ADict.items():
if val in('Tue','Fri'):
NewDict.append(key)

for i in NewDict:
del ADict[i]

# New Dictionary
print(ADict)

Đầu ra

Chạy đoạn mã trên cho chúng ta kết quả sau -

{1: 'Mon', 3: 'Wed', 4: 'Thu'}