entfernen von doppelten hash-Wert und halten eine Anzahl von in perl
Können sagen,
%hash = (
key1 => 'one',
key2 => 'two',
key3 => 'three',
key4 => 'two',
key5 => 'one',
);
Ich will zwei arrays:
-
Dieser array sollte eindeutige Schlüssel/Wert -
@array1=(key1 eine key2 zwei key3 drei)
-
diesem array haben sollte Anzahl der Duplikate, die von Wert (z.B. hier nur drei Wert sind einzigartig, so dass 'one' gefunden, zweimal, und 'zwei' gefunden, zweimal, wieder und 'drei' gefunden einmal).
@array2=(2 2 1)
- Bedeutet "die einzigartige" Schlüssel/Wert" bedeutet entweder der Schlüssel oder der Wert muss eindeutig sein, oder die Kombination von Schlüssel und Wert muss eindeutig sein, oder nur der key muss einzigartig sein?
- Was bestellt sind Sie, mal angenommen @array2. In anderen Worten, warum hat der Graf für 'eins' kommen, bevor die Zählung für die 'zwei'?
- Was bestimmt, welche Schlüssel aufbewahrt? Sagen Sie nicht, weil die Reihenfolge, in der die Schlüssel zurück ist nicht das gleiche in verschiedenen perl-und es ist nicht die gleiche wie die der Reihenfolge in der Quell-Datei.
- Die Reihenfolge der @array2 wird so sein soll, wie Wert1 Wert2 da möchte ich entfernen Sie die identischen Elemente aus verschiedenen Tasten. Der Auftrag von @array1 sollte übereinstimmen mit @array2, zu verfolgen, welche Schlüssel/Wert identisch sind, und wie oft?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich bin mir nicht sicher, warum Sie wollen, dass die endgültige Antwort, dass Sie in dieser merkwürdigen form (im Gegensatz zu einem hash, der eindeutigen Schlüssel/Werte-und ein hash-Wert=>Anzahl Zuordnungen, aber hier gehen Sie...
Können Sie auch %zählt hash direkt anstatt Werte in ein array, wie Sie wollte, oben.
Ergebnisse:
Ignoriert die Reihenfolge-Problem ...