Python - Eindeutige Werteschlüssel in einem Wörterbuch mit Listen als Werten
Während der Arbeit mit Python-Wörterbüchern kann es manchmal zu Problemen kommen, bei denen Schlüssel mit eindeutigen Werten extrahiert werden müssen (in anderen Listen sollte mindestens ein Element nicht vorhanden sein) , dh nicht in den Wertelisten anderer Schlüssel . Dies kann Anwendungen in der Datenvorverarbeitung haben. Lassen Sie uns bestimmte Möglichkeiten diskutieren, wie diese Aufgabe ausgeführt werden kann.
Methode 1: Verwenden von Schleife +count()
Die Kombination der oben genannten Funktionen kann verwendet werden, um dieses Problem zu lösen. In diesem Fall führen wir die Aufgabe des Zählens des Auftretens unter Verwendung der Zählung aus, und das Extrahieren und Testen erfolgt unter Verwendung einer Schleife unter Verwendung einer bedingten Anweisung.
test_dict
=
{
'Gfg'
: [
6
,
5
],
'is'
: [
6
,
10
,
5
],
'best'
: [
12
,
6
,
5
]}
(
"The original dictionary is : "
+
str
(test_dict))
temp
=
[sub
for
ele
in
test_dict.values()
for
sub
in
ele]
res
=
[]
for
key, vals
in
test_dict.items():
for
val
in
vals:
if
temp.count(val)
=
=
1
:
res.append(key)
break
(
"The unique values keys are : "
+
str
(res))
Das ursprüngliche Wörterbuch lautet: {'Gfg': [6, 5], 'best': [12, 6, 5], 'is': [6, 10, 5]} Die Schlüssel für eindeutige Werte sind: ['best', 'is']
Methode 2: Verwenden des Listenverständnisses +any() + count()
Die Kombination der oben genannten Funktionen kann verwendet werden, um diese Aufgabe auszuführen. Dabei prüfen wir mit any() und count(), ob eindeutige Elemente vorhanden sind. Dies ist eine einzige Methode, mit der diese Aufgabe ausgeführt werden kann.
test_dict
=
{
'Gfg'
: [
6
,
5
],
'is'
: [
6
,
10
,
5
],
'best'
: [
12
,
6
,
5
]}
(
"The original dictionary is : "
+
str
(test_dict))
res
=
[key
for
key, vals
in
test_dict.items()
if
any
([ele
for
sub
in
test_dict.values()
for
ele
in
set
(sub)].count(idx)
=
=
1
for
idx
in
vals)]
(
"The unique values keys are : "
+
str
(res))
Das ursprüngliche Wörterbuch lautet: {'Gfg': [6, 5], 'best': [12, 6, 5], 'is': [6, 10, 5]} Die Schlüssel für eindeutige Werte sind: ['best', 'is']