आरवेल () फ़ंक्शन का उपयोग करने के लिए सरणी रूपांतरण की सूची


109

मेरे पास अजगर में एक सूची है और मैं ravel()फ़ंक्शन का उपयोग करने में सक्षम होने के लिए इसे एक सरणी में बदलना चाहता हूं ।


2
कृपया, स्पष्टीकरणों के लिए अनुरोधों का जवाब देने की कोशिश करें और बहुत सारे नहीं-वास्तव में अच्छे प्रश्नों को फैलाने के बजाय अपने प्रश्नों को सुधारें। अंत में, इस उत्तर को ध्यान से पढ़ें । मुझे लगता है कि यह आपकी बड़ी समस्या को हल करता है ...
jorgeca

जवाबों:


237

उपयोग करें numpy.asarray:

import numpy as np
myarray = np.asarray(mylist)

25
वास्तव में, myarray = np.array(mylist)पर्याप्त होना चाहिए।
fgb

11
अच्छी तरह से, यह सुरक्षित है क्योंकि यह सरणियों की नकल नहीं करेगा, लेकिन बस उन्हें वापस कर देगा, इसलिए इसका उपयोग करना एक अच्छी आदत है जब तक कि यह मूल डेटा की एक प्रति को सुनिश्चित करने के लिए सुनिश्चित न हो
EnricoGiampieri

1
@EnricoGiampieri, निष्पक्ष, लेकिन क्या आपको इस बात से कोई फ़र्क पड़ने की ज़रूरत नहीं है कि क्या? मुझे लगता है कि मैं इस बात का पालन नहीं करता हूं कि आपको नई सरणी ऑब्जेक्ट बनाने के लिए या तो कमांड नहीं मिलेगी।
fgb

दोनों कमांड एक सूची से शुरू होने वाले एक नए सरणी का निर्माण करेंगे, यह सुनिश्चित करने के लिए है, लेकिन अक्सर बिंदु कुछ विधि को लागू करने के लिए एक इनपुट को एक विशिष्ट प्रारूप में परिवर्तित करना है, और यह ओपी के मामले की तरह दिखता है। जब तक कोई निश्चित नई प्रति की आवश्यकता न हो, तब तक ऐसर का उपयोग करना एक अच्छी आदत है। बस टाइपिंग arrayही काफी है, लेकिन जब हम यहां हैं तो ओपी को किसी अच्छी आदत के लिए शिक्षित करने की संभावना को क्यों कम करते हैं?
एनरिकोगोम्पियरी

मैं सिर्फ यह कहना चाहता था कि @fgb ने पर्याप्त समाधान प्रस्तावित किया है। '.asarray' फ़ंक्शन एक संख्यात्मक वस्तु देता है जबकि '.ray आपको सीधे एक सरणी देता है। वैसे भी, आप दोनों लोगों का धन्यवाद!
एड्रियन ग्रेजवाकेव्स्की

7

एक इंट सरणी और एक सूची बनाएं

from array import array
listA = list(range(0,50))
for item in listA:
    print(item)
arrayA = array("i", listA)
for item in arrayA:
    print(item)

"i" क्या है? और यह str के लिए क्या होना चाहिए?
वाई

6

मैं एक अतिरिक्त मॉड्यूल का उपयोग किए बिना ऐसा करने का एक तरीका चाहता था। स्ट्रिंग के लिए पहली बारी सूची, फिर एक सरणी में जोड़ें:

dataset_list = ''.join(input_list)
dataset_array = []
for item in dataset_list.split(';'): # comma, or other
    dataset_array.append(item)

टाइपो को संपादित करना संभव नहीं: पहली पंक्ति होनी चाहिएdataset_list = ';'.join(input_list)
एलेक्स पोका

2

यदि आप चाहते हैं कि सभी ravelआपके (नेस्टेड, मैं s'pose?) सूची पर कॉल कर रहा हूं, तो आप इसे सीधे कर सकते हैं, numpyइसके लिए कास्टिंग करेंगे:

L = [[1,None,3],["The", "quick", object]]
np.ravel(L)
# array([1, None, 3, 'The', 'quick', <class 'object'>], dtype=object)

यह भी उल्लेख के लायक है आप के माध्यम numpyसे जाने की जरूरत नहीं है


-1

निम्नलिखित कोड का उपयोग करें:

import numpy as np

myArray=np.array([1,2,4])  #func used to convert [1,2,3] list into an array
print(myArray)

-13

यदि चर b में एक सूची है तो आप बस नीचे कर सकते हैं:

एक नया चर "ए" बनाएं: a=[] फिर "ए" के रूप में सूची असाइन करें:a=b

अब "a" के पास "b" सूची के सभी घटक हैं।

इसलिए आपने सरणी में सफलतापूर्वक सूची बदल दी है।


8
दरअसल, नहीं ... यह पूरी तरह से गलत है। आपके पास एक ही सूची में इंगित करने वाले दो चर होंगे, न कि एक सुस्पष्ट सरणी।
अजीन
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.