2011-11-19 11 views
28
S=[22, 33, 45.6, 21.6, 51.8] 
P=2.45 

यहाँ एस एक सरणीकिसी सूची के व्यक्तिगत तत्वों को संख्या के साथ गुणा कैसे करें?

मैं यह कैसे गुणा और मूल्य मिल जाएगा है?

SP=[53.9, 80.85, 111.72, 52.92, 126.91] 
+5

पायथन एस में एक सरणी नहीं है, यह एक सूची है। दो प्रकार के कंटेनर betweeb में एक बहुत बड़ा अंतर है। यदि आप संख्यात्मक सरणी चाहते हैं, तो numpy का उपयोग करें। – talonmies

+2

नहीं, एस भी एक सूची नहीं है – joaquin

+0

@joaquin: प्रार्थना करें कि क्या एस एस है, अगर यह सूची नहीं है? – talonmies

उत्तर

26

आप उपयोग कर सकते हैं में निर्मित map समारोह:

result = map(lambda x: x * P, S) 

या list comprehensions वह यह है कि अधिक pythonic एक सा:

result = [x * P for x in S] 
+4

बस एक नोट के रूप में, सरणी गुणा की तरह सरणी पर संचालन को अत्यधिक मात्रा में अनुकूलित किया जाता है, और सूची समझ से काफी तेज़ होते हैं। आमतौर पर पाइथन सूचियों जैसे numpy arrays का इलाज नहीं करने के लिए सलाह दी जाती है। – JoshAdel

+0

अच्छी टिप। टैग में 'numpy' ध्यान नहीं दिया है। –

+1

मुझे उन समझों को पूरी तरह से समझ में नहीं आता है। –

12

आप numpy.multiply

S = [22, 33, 45.6, 21.6, 51.8] 
P = 2.45 
multiply(S, P) 

का उपयोग करते हैं यह एक परिणाम के

array([53.9 , 80.85, 111.72, 52.92, 126.91]) 
के रूप में आप देता है: मैं numpy के सरणियों की पूर्ण क्षमताओं के लिए स्पष्टीकरण numpy ट्यूटोरियल पर एक नज़र डालने की अनुशंसा
संबंधित मुद्दे