Hướng dẫn how to compare key and value in same dictionary in python - cách so sánh khóa và giá trị trong cùng một từ điển trong python

Tôi có một từ điển:

d = {'Trump': ['MAGA', 'FollowTheMoney'],
     'Clinton': ['dems', 'Clinton'],
     'Stein': ['FollowTheMoney', 'Atlanta']}

Tôi muốn xóa các chuỗi trùng lặp trong danh sách các chuỗi là một giá trị cho khóa.

Ví dụ này, kết quả mong muốn là

update_d = {'Trump': ['MAGA'],
            'Clinton': ['dems', 'Clinton'],
            'Stein': ['Atlanta']}

Có một câu hỏi tương tự được hỏi ở đây, nhưng tôi không thể sửa đổi nó cho mục đích của mình.

Nỗ lực của tôi:

new_d = {}
for key in d:  
    for key2 in d:
        lst = d[key]
        lst2 = d[key2]

        for string in lst:  
           for string2 in lst2:
              if string not in new_d:

Vấn đề của tôi là tôi muốn so sánh các giá trị của tất cả các khóa và xóa các bản sao. Nhưng, tôi không thấy làm thế nào điều này có thể đạt được

Cải thiện bài viết

Lưu bài viết

Đôi khi, trong khi làm việc với từ điển Python, chúng ta có thể gặp vấn đề trong đó chúng ta cần so sánh từ điển cho sự bình đẳng trên các cơ sở trong các khóa được chọn. Loại vấn đề này là phổ biến và có ứng dụng trong nhiều lĩnh vực. Hãy thảo luận về những cách nhất định trong đó nhiệm vụ này có thể được thực hiện.

Phương pháp số 1: Sử dụng loopthis là cách vũ phu trong đó nhiệm vụ này có thể được thực hiện. Trong đó, chúng tôi lặp lại cho cả từ điển và kiểm tra thủ công cho các khóa bình đẳng bằng toán tử bình đẳng từ các khóa đã chọn.
This is brute force way in which this task can be performed. In this, we iterate for both the dictionary and manually test for keys equality using equality operator from selected keys.

test_dict1 = {______6

new_d = {}
for key in d:  
    for key2 in d:
        lst = d[key]
        lst2 = d[key2]

        for string in lst:  
           for string2 in lst2:
              if string not in new_d:
6= {'gfg' : __12

=9{0{1 {2 {3{4

=9{0{7 {2 {3'gfg'0

'gfg'1= 'gfg'3

update_d = {'Trump': ['MAGA'],
            'Clinton': ['dems', 'Clinton'],
            'Stein': ['Atlanta']}
4,
new_d = {}
for key in d:  
    for key2 in d:
        lst = d[key]
        lst2 = d[key2]

        for string in lst:  
           for string2 in lst2:
              if string not in new_d:
222

'gfg'8=

update_d = {'Trump': ['MAGA'],
            'Clinton': ['dems', 'Clinton'],
            'Stein': ['Atlanta']}
60
update_d = {'Trump': ['MAGA'],
            'Clinton': ['dems', 'Clinton'],
            'Stein': ['Atlanta']}
61__

=9{018 {2 {3, 1

Đầu ra:

Từ điển ban đầu 1: {'Geek': 5, 'gfg': 1, 'là': 2, 'cho': 4, 'tốt nhất': 3} Từ điển gốc 2: {'geek': 5, 'gfg ': 2,' là ': 3,' cho ': 7,' tốt nhất ': 3} là từ điển bằng nhau: true

101

=9{018 {2 {3, 1

Đầu ra:

Từ điển ban đầu 1: {'Geek': 5, 'gfg': 1, 'là': 2, 'cho': 4, 'tốt nhất': 3} Từ điển gốc 2: {'geek': 5, 'gfg ': 2,' là ': 3,' cho ': 7,' tốt nhất ': 3} là từ điển bằng nhau: true
The original dictionary 2 : {‘geeks’: 5, ‘gfg’: 2, ‘is’: 3, ‘for’: 7, ‘best’: 3}
Are dictionary equal : True

Khóa và giá trị có thể giống nhau trong python từ điển không?
This is one liner alternative to perform this task. In this the functionality of comparison is done using all[], comparing all required keys.

test_dict1 = {______6

new_d = {}
for key in d:  
    for key2 in d:
        lst = d[key]
        lst2 = d[key2]

        for string in lst:  
           for string2 in lst2:
              if string not in new_d:
6= {'gfg' : __12

=9{0{1 {2 {3{4

=9{0{7 {2 {3'gfg'0

'gfg'1= 'gfg'3

update_d = {'Trump': ['MAGA'],
            'Clinton': ['dems', 'Clinton'],
            'Stein': ['Atlanta']}
4,
new_d = {}
for key in d:  
    for key2 in d:
        lst = d[key]
        lst2 = d[key2]

        for string in lst:  
           for string2 in lst2:
              if string not in new_d:
222

'gfg'8=

update_d = {'Trump': ['MAGA'],
            'Clinton': ['dems', 'Clinton'],
            'Stein': ['Atlanta']}
60
update_d = {'Trump': ['MAGA'],
            'Clinton': ['dems', 'Clinton'],
            'Stein': ['Atlanta']}
61__

=9{018 {2 {3, 1

Đầu ra:

Từ điển ban đầu 1: {'Geek': 5, 'gfg': 1, 'là': 2, 'cho': 4, 'tốt nhất': 3} Từ điển gốc 2: {'geek': 5, 'gfg ': 2,' là ': 3,' cho ': 7,' tốt nhất ': 3} là từ điển bằng nhau: true
The original dictionary 2 : {‘geeks’: 5, ‘gfg’: 2, ‘is’: 3, ‘for’: 7, ‘best’: 3}
Are dictionary equal : True


Khóa và giá trị có thể giống nhau trong python từ điển không?

Câu trả lời.Không, mỗi khóa trong một từ điển phải là duy nhất.Bạn không thể có hai khóa có cùng giá trị.Cố gắng sử dụng cùng một khóa sẽ chỉ ghi đè lên giá trị trước đó được lưu trữ.No, each key in a dictionary should be unique. You can't have two keys with the same value. Attempting to use the same key again will just overwrite the previous value stored.

Bạn có thể sử dụng == trên từ điển trong Python không?

Theo tài liệu Python, bạn thực sự có thể sử dụng toán tử == trên từ điển.you can indeed use the == operator on dictionaries.

Một từ điển có thể có hai khóa có cùng giá trị?

Đầu tiên, một khóa nhất định chỉ có thể xuất hiện trong một từ điển một lần.Các khóa trùng lặp không được phép.Một từ điển ánh xạ từng khóa theo giá trị tương ứng, do đó, không có ý nghĩa gì khi ánh xạ một khóa cụ thể hơn một lần.Duplicate keys are not allowed. A dictionary maps each key to a corresponding value, so it doesn't make sense to map a particular key more than once.

Điều gì xảy ra nếu chúng ta thêm cùng một khóa nhưng giá trị khác nhau vào từ điển trong Python?

Bạn không thể.Chìa khóa phải là duy nhất.. Keys have to be unique.

Bài Viết Liên Quan

Chủ Đề