क्या हैश में डुप्लिकेट कुंजी या मान हो सकते हैं?क्या हैश में डुप्लिकेट कुंजी या मान हैं
उत्तर
इसमें डुप्लिकेट मान हो सकते हैं लेकिन कुंजी नहीं।
मैं आपके 14.5k प्रतिनिधि हाहा के आधार पर एक असाइनमेंट सबमिट कर रहा हूं, विधिवत उद्धृत, लेकिन अगर हम शायद थोड़ी देर में मेरे व्याख्याता से सुन रहे होंगे ... – lol
एक "% हैश"
तब के बारे में बात मानते हुए:
- डुप्लिकेट चाबी अनुमति नहीं है।
- डुप्लिकेट मूल्यों की अनुमति है।
इसका कारण यह है कि यह एक विशेष मूल्य जहां मूल्य लुक-अप में कोई भूमिका निभाता है और इस प्रकार अन्य मूल्यों पर स्वतंत्र है करने के लिए एक विशेष कुंजी की मैपिंग है के बारे में तर्क करने में आसान है।
दोनों हैंश और सरणी के लिए, केवल एक स्केलर किसी दिए गए कुंजी पर संग्रहीत किया जा सकता है। पर ("कुंजी अद्वितीय हैं।") अगर वे नहीं थे, तो आप नहीं कर सका
$h{a} = 1;
$h{a} = 2;
$val = $h{a}; # 2
$a[4] = 1;
$a[4] = 2;
$val = $a[4]; # 2
आप एक कुंजी के साथ एक से अधिक मान संबद्ध करने के लिए करना चाहता था, तो आप एक सरणी (या हैश) के लिए एक संदर्भ बन सकता था वह कुंजी, और उस सरणी (या हैश) में मान जोड़ें।
for my $n (4,5,6,10) {
if ($n % 2) {
push @{ $nums{odd} }, $n;
} else {
push @{ $nums{even} }, $n;
}
}
say join ', ', @{ $nums{even} };
इस पर और अधिक के लिए perllol देखें।
मूल्यों के लिए, कई तत्वों में दोनों हैंश और सरणी में समान मूल्य हो सकता है।
$counts{a} = 3;
$counts{b} = 3;
$counts[5] = 3;
$counts[6] = 3;
आप सीपीएएन से Hash::MultiKey मॉड्यूल का उपयोग करने का प्रयास कर सकते हैं।
(मैं डाटा :: डम्पर इस्तेमाल किया दिखाने के लिए कैसे हैश ठीक है लगता है - इसे यहाँ आवश्यक नहीं है)
use Data::Dumper;
use Hash::MultiKey;
tie my %multi_hash, 'Hash::MultiKey';
$multi_hash{['foo', 'foo', 'baz']} = "some_data";
for (keys %multi_hash) {
print @$_,"\n";
};
print Dumper\%multi_hash;
और उत्पादन हो shoud():
foofoobaz
$VAR1 = {
'ARRAY(0x98b6978)' => 'some_data'
};
तो तकनीकी तौर पर हैश :: मल्टीकी आपको एक हैश कुंजी के रूप में संदर्भ बनाने देता है।
कृपया इस कोड को आज़माएं और चलाएं, यह त्रुटियों के बिना निष्पादित करता है। मुझे उम्मीद है कि आप यही पूछ रहे थे!
#!/usr/bin/perl
use strict;
use warnings;
my %hash = ('a' => 1, 'a' => 2, 'b' => 4);
print values %hash, "\n\n";
print keys %hash, "\n\n";
हाँ एक हैश डुप्लिकेट चाबी हो सकता है के रूप में मैं नीचे प्रदर्शित ...
कुंजी उदाहरण: जन्मतिथि | LastNameFirst4Chars | FirstNameInitial | IncNbr "1959/12/19 | विल | कश्मीर | 1"। .. "1 9 5 9-12-19 | विल | के | 74"।
नोट: यह रिकॉर्ड देखो अप के लिए एक उपयोगी कुंजी अगर किसी को अपनी सामाजिक सुरक्षा Nbr याद नहीं था
#-- CODE SNIPPET:
@Offsets=(); #-- we will build an array of Flat File record "byte offsets" to random access
#-- for all records matching this ALT KEY with DUPS
for ($i=1; $i<=99; $i++) {
$KEY=$BirthDate . "|" . $LastNameFirst4Chars . "|" . $FirstNameInitial . "|" . $i;
if (exists $Hash{$KEY}) {
push @Offsets, $Hash{$KEY}; #-- add another hash VALUE to the end of the array
}
}
यह क्या दिखाता है? आपके कोड के चलने के बाद, 'ऑफसेट्स' और '% हैश 'दोनों अपरिवर्तित हैं (यानी अभी भी खाली)। कोड '_ कुंजी' के लिए 99 _different_ मान उत्पन्न करता है, जैसे 'blabla | 1',' blabla | 2', ... 'blabla | 99'। – PerlDuck
ठीक है, लेकिन पर्ल में मानक हैश निश्चित रूप से डुप्लिकेट कुंजी नहीं हो सकता है। आपके उदाहरण की चाबियां अलग-अलग हैं। '" $ जन्मदिन | ... | 1 "' '$ जन्मदिन से अलग है | ... | 2" ', है ना? तो कुंजी _not_ डुप्लिकेट हैं। – PerlDuck
पर्लडक, अनुक्रम संख्या कुंजी अद्वितीय बनाती है। अगर मेरे पास अनोखा प्राथमिक कुंजी है तो सोशल सिक्योरिटी नंबर कहें। और मैं अपने डेटाबेस में एक रिकॉर्ड का उपयोग करना चाहता हूं, लेकिन एसएसएन को याद नहीं किया जाता है, तो मैं एक एएलटी कुंजी डब्ल्यू/डीयूपीएस का उपयोग कर सकता हूं जैसे: "$ जन्मदिन | $ LastNameFirst4Chars | $ FirstNameInitial | SeqNbr"। "1 9 5 9-12-19 | विल | के | 1 ..." 1 9 5 9-12-19 | विल | के | 99 "। कुंजी में सभी डेटा अनुक्रम nbr को छोड़कर डुप्लिकेट किया गया है। इस प्रकार आप हैश को सक्षम करते हैं डुप्लिकेट कुंजी है। –
- 1. क्या होगा यदि हम डुप्लिकेट डीबी में डुप्लिकेट हैश कुंजी के साथ डालेंगे?
- 2. पर्ल हैश जब दोनों कुंजी और मान सरणी संदर्भ हैं
- 3. पर्ल में हैश के चाबियाँ हैं या नहीं, तो सरणी के मान क्या हैं?
- 4. मेरा हैश मैप डुप्लिकेट कुंजी क्यों दे रहा है?
- 5. सेट संग्रह में डुप्लिकेट मान?
- 6. हैश कुंजी में जावास्क्रिप्ट कीवर्ड
- 7. हैश में कुंजी को हटाएं
- 8. डुप्लिकेट विदेशी कुंजी छोड़ना
- 9. डुप्लिकेट कुंजी अपडेट पर सशर्त
- 10. क्या% INC प्लेटफ़ॉर्म-निर्भर की कुंजी और मान हैं या नहीं?
- 11. हैश टेबल कुंजी कैसे प्राप्त करें जिसमें विशिष्ट मान है?
- 12. हैश मैप कुंजी
- 13. हैश कुंजी में कौन से वर्ण मान्य हैं?
- 14. डुप्लिकेट कुंजी अपडेट
- 15. डुप्लिकेट कॉलम मान MySQL
- 16. पता लगाएं कि आर तालिका में कॉलम में डुप्लिकेट मान शामिल हैं या नहीं?
- 17. पर्ल: एक हैश मान
- 18. पांडस डेटाफ्रेम - वांछित सूचकांक में डुप्लिकेट मान हैं
- 19. रेल पर रूबी में हैश में डुप्लिकेट कैसे निकालें?
- 20. मैं हैश कुंजी को एकाधिक मान कैसे सौंप सकता हूं?
- 21. डुप्लिकेट कुंजी अपडेट पर MySQL
- 22. एक हैश कुंजी
- 23. प्रोलॉग: पहला डुप्लिकेट मान
- 24. हाइबरनेट डुप्लिकेट देता है क्योंकि दूसरी तालिका में डुप्लिकेट मान
- 25. जावास्क्रिप्ट हैश मान
- 26. रूबी में, वाईएएमएल दस्तावेज़ लोड करते समय हैश में डुप्लिकेट कुंजी की चेतावनी कैसे दी जाए?
- 27. रेडिस: हैश फ़ील्ड मान
- 28. शब्दकोश डुप्लिकेट, बहुआयामी कुंजी का समर्थन करते हैं?
- 29. क्या JSON में शून्य मान शामिल हैं
- 30. क्या पर्ल में एक अनियमित हैश कुंजी शून्य का डिफ़ॉल्ट मान है?
आप हैश तालिका मतलब है हो सकता है? –
ओह को यह एहसास नहीं हुआ कि हश सहयोगी सरणी (अजीब) के लिए पर्ल का नाम है। –
@ जेक टी।, पर्ल एसोसिएटिव एरे हैंश टेबल – ikegami