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']}
60update_d = {'Trump': ['MAGA'],
'Clinton': ['dems', 'Clinton'],
'Stein': ['Atlanta']}
61__=
9{
01
8 {
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
1
01
5
=
9{
01
8 {
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']}
60update_d = {'Trump': ['MAGA'],
'Clinton': ['dems', 'Clinton'],
'Stein': ['Atlanta']}
61__=
9{
01
8 {
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