old = [1, 2, 3]
निम्नलिखित दो पंक्तियों (यदि कोई है) के बीच क्या अंतर है?पायथन सूची प्रति: पुरानी [:] और सूची (पुरानी) के बीच कोई अंतर है?
new = old[:]
new = list(old)
अद्यतन मैं पहले से ही ubershmekel के जवाब में स्वीकार किया था, लेकिन बाद में मैं एक दिलचस्प तथ्य यह सीखा है: [:]
छोटी सूची (10 तत्वों) लेकिन list()
के लिए तेजी से होता है है तेजी से बड़ी सूची (100000 तत्व) के लिए।
~$ python -S -mtimeit -s "a = list(range(10))" "a[:]"
1000000 loops, best of 3: 0.198 usec per loop
~$ python -S -mtimeit -s "a = list(range(10))" "list(a)"
1000000 loops, best of 3: 0.453 usec per loop
~$ python -S -mtimeit -s "a = list(range(100000))" "a[:]"
1000 loops, best of 3: 675 usec per loop
~$ python -S -mtimeit -s "a = list(range(100000))" "list(a)"
1000 loops, best of 3: 664 usec per loop
'[:]' थोड़ा तेज़ क्यों है? –
@ मैटफ़ेनविक की सूची (x) 'को वैश्विक चर' सूची' को देखने और एक तर्क के साथ एक फ़ंक्शन को कॉल करने की आवश्यकता है। 'x [:] 'इनमें से कोई भी नहीं करता है इसलिए इसमें कम ओवरहेड है। यदि यह एक लंबी सूची है तो अंतर छोटा होगा (और शायद एक छोटी सूची के लिए भी महत्वहीन)। – Duncan
पठनीयता कभी-कभी व्यक्तिपरक होती है और पृष्ठभूमि पर निर्भर करती है। उस ब्लॉग या किसी अन्य संबंधित में मैंने पढ़ा [उन्होंने] [:] नोटेशन 'क्रिप्टिक' कहा। अच्छी तरह से ... – joaquin