My Data r पंक्तियों वाली सूचियों की एक सूची है, जिसमें डेटा के तार अलग-अलग लंबाई के होते हैं - जिनमें से कुछ फ़्लोट होते हैं लेकिन स्ट्रिंग्स के रूप में पढ़े जाते हैं।

मैं पहले सभी पंक्तियों के माध्यम से लूप करना चाहता हूं, फिर सभी तत्वों के माध्यम से और फिर पंक्ति में एक स्ट्रिंग का पहला उदाहरण खोजने के लिए उक्त तत्वों पर एक कोशिश/छोड़कर फ़ंक्शन लागू करना चाहता हूं जिसे फ्लोट में बदला जा सकता है।

मेरा कोड आउटपुट के रूप में अपेक्षित है जब मैं स्पष्ट रूप से दूसरे लूप को बताता हूं कि किस पंक्ति के लिए इसे ऑपरेशन करना चाहिए, हालांकि, जब मैं सभी पंक्तियों पर लूप करने का प्रयास करता हूं, तो यह केवल पहली पंक्ति के लिए अपेक्षित आउटपुट आउटपुट करता है और निम्न पंक्तियों में से कोई भी नहीं।

अपेक्षित आउटपुट सूची float_index (lenght = len(data) के साथ) सभी पंक्तियों के लिए पहले परिवर्तनीय तत्व के सूचकांक के साथ एक सूची होगी।

यहाँ स्पष्ट पंक्ति परिभाषा आउटपुट [2] के साथ कोड है, क्योंकि दूसरी पंक्ति के लिए, यह दूसरा तत्व है जो एक फ्लोट में परिवर्तनीय है:

data = [['Mittl.', 'Halleninnenpegel,', 'Volllast', 'Li', '124', '132', '132', '132', '139', '138', '141', '139', '131', '146'],
['Abgaskamin', 'LW', '130', '129', '121', '104', '100', '96', '94', '89', '86', '108']]


row= 1
floats = []
float_index = []
for i in data[row]:
    try:
        floats.append(str(int(float(i))))
        float_index = [data[row].index(floats[0])]
    except:
        pass
print(float_index)

यहां डेटा में सभी पंक्तियों को लूप करने वाला कोड है, लेकिन केवल पहली पंक्ति के लिए अपेक्षित मान का आउटपुट फ्लोट_इंडेक्स = [४] है, जबकि अपेक्षित था फ्लोट_इंडेक्स = [४,२]:

data = [['Mittl.', 'Halleninnenpegel,', 'Volllast', 'Li', '124', '132', '132', '132', '139', '138', '141', '139', '131', '146'],
['Abgaskamin', 'LW', '130', '129', '121', '104', '100', '96', '94', '89', '86', '108']]

floats = []
float_index = []
for r in range(len(data)):
    for i in data[r]:
        try:  
            floats.append(str(int(float(i))))
            float_index = [data[r].index(floats[0])]
        except:
            pass
print(float_index)

फ्लोट्स सूची शायद समस्या है - यह सिर्फ एक पंक्ति के साथ सभी परिवर्तनीय तत्वों को एक लंबी सूची में एकत्रित करती है - मुझे फ्लोट्स सूची की आवश्यकता उसी तरह से होनी चाहिए जैसे डेटा, कि यह सभी परिवर्तनीय तत्वों को नई पंक्तियों में रखता है, ताकि floats[0] द्वारा मुझे सभी पंक्तियों के लिए पहला तत्व मिल जाए, लेकिन किसी भी तरह से मेरे सिर को प्राप्त करने के लिए नहीं मिल सकता है यह।

मदद की सराहना करेंगे, धन्यवाद!

0
Skadam 22 फरवरी 2019, 13:07

1 उत्तर

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

प्रत्येक तत्व के माध्यम से लूप करने की कोई आवश्यकता नहीं है, पहले एक बार मिलने के बाद बस लूप से बाहर निकलें:

data = [['Mittl.', 'Halleninnenpegel,', 'Volllast', 'Li', '124', '132', '132', '132', '139', '138', '141', '139', '131', '146'],
['Abgaskamin', 'LW', '130', '129', '121', '104', '100', '96', '94', '89', '86', '108']]

floats = []
float_index = []
for lest in data:
    float_temp = None
    float_ind_temp = None
    for el in lest:
        try:
            float_temp = str(int(float(el)))
            floats.append(float_temp)
            float_index_temp = lest.index(float_temp)
            break
        except:
            pass
    float_index.append(float_index_temp)
print(float_index)
-2
TheSoma300 22 फरवरी 2019, 11:38