Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Python

पायथन का उपयोग करके टुपल सूची में लगातार Nth कॉलम अंतर


जब टुपल्स की सूची में लगातार कॉलम अंतर खोजने की आवश्यकता होती है, तो इस पर पुनरावृत्ति की जा सकती है, और 'abs' मेथड और 'append' मेथड का उपयोग किया जा सकता है।

'abs' मेथड निरपेक्ष या पॉजिटिव मान लौटाता है, और append सूची में तत्व जोड़ता है।

उदाहरण

my_list = [(67, 89, 32), (11, 23, 44), (65, 75, 88)]
print("सूची है: ")
print(my_list)
print("K का मान इनिशियलाइज़ किया गया है")
K = 1
my_result = []
for idx in range(0, len(my_list) - 1):
    my_result.append(abs(my_list[idx][K] - my_list[idx + 1][K]))
print("परिणामी टुपल सूची है: ")
print(my_result)

आउटपुट

सूची है: [(67, 89, 32), (11, 23, 44), (65, 75, 88)]
K का मान इनिशियलाइज़ किया गया है
परिणामी टुपल सूची है: [66, 52]

व्याख्या

  • टुपल्स की एक सूची परिभाषित की जाती है, और कंसोल पर प्रदर्शित की जाती है।

  • K का मान इनिशियलाइज़ किया जाता है और कंसोल पर प्रदर्शित किया जाता है।

  • एक खाली सूची परिभाषित की जाती है।

  • टुपल्स की सूची पर पुनरावृत्ति की जाती है, और तत्वों के बीच अंतर निर्धारित किया जाता है।

  • यह अंतर खाली सूची में जोड़ा जाता है।

  • इसे आउटपुट के रूप में कंसोल पर प्रदर्शित किया जाता है।

कोड विश्लेषण

  • K=1 का अर्थ है दूसरा कॉलम (0-आधारित इंडेक्सिंग)

  • कॉलम 1 के मान: 89, 23, 75

  • लगातार अंतर: |89-23|=66, |23-75|=52

  • abs() निरपेक्ष मान सुनिश्चित करता है

सूची समझ संस्करण

my_result = [abs(my_list[i][K] - my_list[i+1][K]) for i in range(len(my_list)-1)]

सामान्यीकरण: कोई भी कॉलम, कोई भी ऑपरेशन

def consecutive_column_op(tuples_list, col_idx, operation):
    """operation: 'diff', 'sum', 'product', 'ratio', आदि"""
    ops = {
        'diff': lambda a, b: abs(a - b),
        'sum': lambda a, b: a + b,
        'product': lambda a, b: a * b,
        'ratio': lambda a, b: a / b if b != 0 else None
    }
    op_func = ops.get(operation, lambda a, b: abs(a - b))
    return [op_func(tuples_list[i][col_idx], tuples_list[i+1][col_idx]) 
            for i in range(len(tuples_list)-1)]

पांडास के साथ (बड़े डेटासेट के लिए)

import pandas as pd
df = pd.DataFrame(my_list)
# कॉलम K के लगातार अंतर
df[K].diff().abs().dropna().tolist()

एज केस

  • खाली सूची: [] → []

  • एक टुपल: [(1,2)] → [] (कोई लगातार जोड़ी नहीं)

  • कॉलम इंडेक्स आउट ऑफ रेंज: IndexError उठाएगा

  • गैर-संख्यात्मक मान: TypeError उठाएगा


  1. - Python में सूची में लगातार तत्वों की जोड़ी

    Python का उपयोग करके डेटा विश्लेषण के दौरान, हमें एक सूची के लगातार तत्वों को जोड़ने की आवश्यकता हो सकती है। इस लेख में हम इसे प्राप्त करने के विभिन्न तरीके देखेंगे।इंडेक्स और रेंज के साथहम सूची तत्वों के लगातार इंडेक्स को एक साथ रखने के लिए एक अभिव्यक्ति डिज़ाइन करेंगे। और फिर इस जोड़ी को लगातार तत

  1. - पायथन में लिस्ट और टपल्स के बीच अंतर

    लिस्ट लिस्ट विभिन्न प्रकार के ऑब्जेक्ट को समाहित करने के लिए एक कंटेनर है और ऑब्जेक्ट पर पुनरावृति करने के लिए उपयोग किया जाता है। उदाहरण list = [a, b, c, d, e] टपल्स टपल भी लिस्ट के समान है लेकिन इसमें अपरिवर्तनीय ऑब्जेक्ट होते हैं। टपल प्रोसेसिंग लिस्ट से तेज़ है। उदाहरण tuples = (a, b, c, d, e) ल

  1. - पायथन लिस्ट और टपल में क्या अंतर है?

    लिस्ट और टपल के बीच मुख्य अंतर यह है कि टपल्स इम्म्यूटेबल हैं। इसका मतलब है कि एक बार बनाने के बाद आप टपल में मानों को नहीं बदल सकते। इसलिए यदि आपको मानों को बदलने की आवश्यकता है तो लिस्ट का उपयोग करें। टपल्स का उपयोग करने के लाभ - वे मामूली परफॉरमेंस सुधार में मदद करते हैं। चूंकि टपल इम्म्यूटेबल