2011-09-29 21 views
14

किसी सूची में नामित आइटम जोड़ते समय, क्या यह गारंटी दी जाती है कि आइटम सूची के अंत में जोड़ा जाएगा? प्रैक्टिस में यह मामला प्रतीत होता है, लेकिन यह सुनिश्चित नहीं है कि यह एक खतरनाक धारणा है या नहीं?नामित आइटम में नामित आइटम जोड़ना - सूची के अंत में शामिल होने की गारंटी है?

test = list() 
test[[ "one" ]] = 1 
test[[ "two" ]] = 2 # will always appear after "one"? 
test[[ "three" ]] = 3 # will always appear after "two"? 
+0

स्पष्ट होने के लिए, आप एक स्ट्रिंग कुंजी '[['एक']]' या '[['1']] '' 'संख्यात्मक कुंजी' [[1]]' का उपयोग कर रहे हैं। और क्या हम इसे अपनी सभी स्ट्रिंग कुंजियां एक कोटिंग ऑर्डर में ले सकते हैं? क्या आप '[[' 1 ']] '' [[' '' '] की बजाय स्ट्रिंग कुंजियां कर सकते हैं? – smci

उत्तर

20

यदि यह दस्तावेज नहीं है (और ऐसा प्रतीत नहीं होता है), तो मैं उस पर भरोसा नहीं करता। आप यह सुनिश्चित कर सकते हैं ऐसा लगता है जैसे कुछ कर रही द्वारा सूची के अंत में प्रकट होता है:

test <- list() 
test <- c(test, one=1) 
test <- c(test, two=2) 
test <- c(test, three=3) 
+2

लेकिन बहुत सावधान रहें कि आप किसी सूची में सामान कैसे जोड़ते हैं। 'Rgames: tl <- list()' 'Rgames: tl [[1]] <- सूची (एक = 1)' 'Rgames: tl [[2]] <- data.frame (दो = 2) ' ' Rgames: tl $ तीन <- 3' –

+0

@CarlWitthoft: व्यवहार 'tl [[' 2 ']] 'बनाम' tl [[2]]' यानी स्ट्रिंग कुंजियों के लिए अलग हो सकता है ओपी करता है) बनाम संख्यात्मक कुंजी (जैसा आपने किया था) – smci

+1

'संलग्न करें (परीक्षण, सूची (तीन = 3))' एक और विकल्प – baptiste

3

यदि आप आर के सी कोड में delved तो आप देखना चाहते हैं कि यह सच था कि मुझे लगता है, लेकिन यहोशू का कहना है के रूप में अपनी दस्तावेज नहीं आप आर-डीवी पर इस विचार के लिए पूछ सकते हैं कि इस तरह के व्यवहार दस्तावेज किए जाने चाहिए। पहले से ही मौजूदा कोड हो सकता है जो इस पर निर्भर करता है।

+2

स्पेस्डमैन - आर-डीवी को दस्तावेज प्राप्त करने के लिए पूछने के लिए अच्छा सुझाव है। धन्यवाद! – SFun28

+3

उम्मम्म .... मुझे यह देखने के लिए मुश्किल से दबाया गया है कि सूची के नए तत्व (या डेटाफ्रेम, या उस मामले के लिए वेक्टर) को कहीं भी रखा जा सकता है लेकिन "अंत" पर कहीं भी रखा जा सकता है। जिस क्षण आप किसी तत्व को परिभाषित करते हैं, उसे एक अप्रयुक्त स्थान असाइन किया जाता है। "अप्रयुक्त" पर जोर यह इस तथ्य के जितना स्पष्ट होना चाहिए कि जोड़ना, उदाहरण के लिए, दो तत्वों वाली सूची में तीसरा आइटम इसे 47-वें स्थान पर नहीं सौंपा जाएगा। –

+2

मैं मानता हूं कि लंबाई -12 सूची के 7 वें स्थान पर कोई तत्व रखना विपरीत होगा, लेकिन अंत क्यों, शुरुआत नहीं? जब आप नाम से तत्व जोड़ते हैं तो आप कोई भी स्थितित्मक जानकारी नहीं दे रहे हैं, इसलिए जब तक दस्तावेज न हो, अन्यथा भाषा कहीं भी इसे मुक्त करने के लिए स्वतंत्र हो। कुछ भाषाएं स्ट्रिंग कुंजी के हैश मान द्वारा इसे ऑर्डर कर सकती हैं। – Spacedman

 संबंधित मुद्दे

  • कोई संबंधित समस्या नहीं^_^