Python finding patterns within large group of numbers? -


इस सवाल का पहले से ही एक उत्तर है: < / P>

  • 5 जवाब

    मैं एक के साथ काम कर रहा हूँ सूचियों की सूची जिसमें उनमें से प्रत्येक में गैर-परिपूर्ण वर्ग की जड़ों के लिए निरंतर अंशों की अवधि होती है

    मैं उनके साथ क्या करने की कोशिश कर रहा हूं, प्रत्येक सूची में सबसे बड़े दोहराव पैटर्न का आकार जांचना है।

    उदाहरण के लिए कुछ सूचियों:

      [[1,1,1,1,1,1 ....], [4,1,4,1,4,1 ....], [1,2,10,1, 2,10 ....], [1,1,1,1,1,4,1,4,1,20,9,8,1,1,1,1,1,4,1,4, 1,20,9,8 ....], [2,2,2,4,2,2,2,4,4 ....], [1,1,1,13,21,45,3, 3,1,16,4,1,4,1,1,1,24,15,1,1,1,13,21,45,3,3,1,16,4,1,4,1, 1,1, 24, 15 ....], [1,1,1,3,28,1,1,1,3,28,67,25,1,1,1,3,28,1, 1,1,3,28,67,25 ....]]   

    दो समान तरीके जिनके साथ मैं काम कर रहा हूं:

      डीएफ लंबाई (सीईसी): श्रेणी के लिए मैं (लेन (सीईसी), 1, -1) में: यदि सीईसी [0: i] == सीईसी [i: i * 2]: रिटर्न आई डीएफ लम्बाई (सीईसी): के लिए I श्रेणी में (1, लेन (सीईसी) -1): यदि सीईसी [0: i] == सीईसी [i: i * 2]: वापसी i   

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

    वर्क्स (आपके नमूने के 4 वें तत्व में एक टाइपो पकड़ा गया)

      & gt; & gt; & gt; Seq_l = [... [1,1,1,1,1,1], ... [4,1,4,1,4,1], ... [1,2,10,1,2 , 10], ... [1,1,1,1,1,4,1,4,1,20,9,8,1,1,1,1,1,1,1,1,1,1,1,1,1,1, 20,9,8], ... [2,2,2,4,2,2,2,4,2,2,2,2,2,2,2,2,2,4], ... [1, 1,1,13,21,45,3,3,1,16,4,1,4,1,1,1,24,15,1,1,1,13,21,45,3,3, 1,16,4,1,4,1,1,1,24,15], ... [1,1,1,3,28,1,1,1,3,28,67,25,1 , 1,1,3,28,1,1,1,3,28,67,25] ...]> gt; & gt; & Gt; & gt; & gt; Def rep_len (seq): ... s_len = len (seq) ... मैं श्रेणी में (1, s_len-1): ... अगर s_len% i == 0: ... j = s_len / i। .. अगर seq == j * seq [: i]: ... मुझे वापस ... ... & gt; & gt; & gt; Seq_l में seq के लिए [rep_len (seq)] [1, 2, 3, 12, 4, 18, 12]    

Comments