की लंबाई का पता लगाएं मैं कैसे प्राप्त कर सकता है कि कितने पंक्तियों और स्तंभों एक 2d सरणी में कर रहे हैं?
2 डी सरणी अजगर
उदाहरण के लिए,
Input = ([[1, 2], [3, 4], [5, 6]])`
3 पंक्तियों और 2 कॉलम के रूप में प्रदर्शित किया जाना चाहिए।
की लंबाई का पता लगाएं मैं कैसे प्राप्त कर सकता है कि कितने पंक्तियों और स्तंभों एक 2d सरणी में कर रहे हैं?
2 डी सरणी अजगर
उदाहरण के लिए,
Input = ([[1, 2], [3, 4], [5, 6]])`
3 पंक्तियों और 2 कॉलम के रूप में प्रदर्शित किया जाना चाहिए।
:
numrows = len(input) # 3 rows in your example
numcols = len(input[0]) # 2 columns in your example
यह मानते हुए कि सभी उप-सूचियों में एक ही लंबाई है (अर्थात, यह एक दांतेदार सरणी नहीं है)।
की एक सूची इतने लंबे समय के लिए यह एक दांतेदार सरणी नहीं है के रूप में प्रयोग किया जाना चाहिए की तरह, नहीं, तो इस आदर्श है। – Makoto
@ मकोटो यह सही है। मैंने कहा कि मेरे जवाब पर धारणा। –
यो, मैं उस 2 डी सरणी डीफ़ sum1 (इनपुट) में सभी तत्वों का योग ढूंढना चाहता हूं: योग = पंक्ति 0 के लिए श्रेणी (लेन (इनपुट) -1): कॉल में श्रेणी के लिए (लेन (इनपुट [0 ]) - 1): योग = योग + इनपुट [पंक्ति] [col] वापसी राशि प्रिंट sum1 ([[1, 2], [3, 4], [5, 6]]) यह 21 के बजाय 4 प्रदर्शित करता है (1 + 2 + 3 + 4 + 5 + 6 = 21)। मेरी गलती कहां है? –
आप numpy.shape
उपयोग कर सकते हैं।
import numpy as np
x = np.array([[1, 2],[3, 4],[5, 6]])
परिणाम:
>>> x
array([[1, 2],
[3, 4],
[5, 6]])
>>> np.shape(x)
(3, 2)
टपल में सबसे पहले मूल्य संख्या पंक्तियों = 3 है, टपल में दूसरा मूल्य = स्तंभों की संख्या है 2.
धन्यवाद, मैं इस बात – urgeo
इनपुट [पंक्ति] [col] मानते हुए,
rows = len(input)
cols = map(len, input) #list of column lengths
इसके अलावा, सही तरीका कुल आइटम संख्या की गणना करना होगा:
sum(len(x) for x in input)
ग्रेट के लिए numpy उपयोग करने के लिए नहीं करना चाहता था, यह मैं वास्तव में क्या जरूरत थी! मेरे मामले में मैं दूसरी डिग्री तक सूची के सभी तत्वों को गिन सकता हूं: sum (len (x) अगर isinstance (x, list) अन्य 1 में x के लिए x) – Inaki
लगता है आप एक numpy सरणी सूचियों – wim