मैं numpy array x = np.arange (2.5,7.0,0.01) के साथ काम कर रहा हूं। अगर मैं print(x) और print(*x) कमांड देता हूं तो मुझे अलग-अलग परिणाम मिलते हैं। मुझे पता है कि *x सुन्न सरणी को अनपैक करें, लेकिन मैं समान मूल्यों की अपेक्षा करूंगा। उदाहरण के लिए, print(x) द्वारा मुद्रित अंतिम मान 6.99 है, जबकि अनुरूप एक 6.989999999999994 है। यह विसंगति क्यों?

0
TheOldJonny 13 फरवरी 2021, 00:23
1
यह संभवतः numpy प्रिंट विकल्प बनाम फ्लोट प्रिंट विकल्प के साथ करना है।
 – 
Ehsan
13 फरवरी 2021, 00:28
1
print(list(x)) के समान।
 – 
hpaulj
13 फरवरी 2021, 01:07

1 उत्तर

सबसे बढ़िया उत्तर

यदि आप एक विशिष्ट मूल्य मुद्रित करते हैं, तो आपको वही परिणाम मिलता है। लेकिन पूरे सरणी को प्रिंट करते समय मानों को print() फ़ंक्शन द्वारा छोटा कर दिया जाता है

x = np.arange (2.5, 7.0, 0.01)
print(x[3]) 

मान है: 2.5299999999999994 जब की तुलना से की जाती है

print(*x) 

मान : 2.5 2.51 2.5199999999999996 2.5299999999999994 ...

2
waveshaper 13 फरवरी 2021, 00:38