2014-01-18 5 views
-3

Рассмотрим код, указанный:IndexError: список индексов вне диапазона для рабочего кода

PyCharm

Это показывает индекс списка из диапазона.

enter code here  

для й в диапазоне (MAX_COUNT): попытка: результата = следующий (GEN) утверждают Len (результат) == tuple_length, "ошибочная длина" для элемента в результате: утверждают х == элемент, «неожиданное значение» кроме StopIteration в си: проход

попробовать: следующий (ген) утверждают Ложные, «генератор не договорил, как ожидалось» за исключением StopIteration, как таковой: pass

+2

Исходный код представляет собой текст; пожалуйста, вставьте код здесь, с полным отслеживанием исключения. –

+0

Защиту generator_zip (seq1, seq2, * more_seqs): для г в диапазоне (LEN (мин (Seq1, seq2, more_seqs)) - 1): l1 = [] l2 = [] для s1 в Seq1, seq2: l1.append (s1 [I]) при s2 в more_seqs: l2.append (с2 [I]) л = L1 + L2 р = кортеж (л) список выхода (р) – yashwanth

+0

Вы можете [edit] ваш вопрос, чтобы добавить код. После того, как вы вставили его в свой вопрос, выберите весь исходный код и нажмите кнопку '{}', чтобы отформатировать его. –

ответ

0

Вы все перепутали операции ... range(len(min(seq1,seq2,more_seqs)) не возвращает то, что вы думаете. Здесь вы используете min и находите список, который содержит самое маленькое содержимое, а затем берет длину любого списка min.

Вот некоторые примеры кода, чтобы доказать точку:

seq1 = [100, 200, 300] 
seq2 = [10, 20, 30, 40] 
seq3 = [1000, 2000] 

print len(min(seq1, seq2, seq3)) 
#prints 4 (the length of seq2 because it has the smallest values) 

print min(len(x) for x in [seq1, seq2, seq3]) 
#prints 2 which is the minimum of all the lengths 
+0

Здесь Iam использует переменные args.The определение функции выглядит следующим образом: def generator_zip (seq1, seq2, * more_seqs): – yashwanth

+0

Что вы ожидаете от функции? Огромный кортеж, который является всеми значениями во всех последовательностях? Просьба уточнить. – catwalker333

+0

@ catwalker333 Похоже, что назначение состоит в том, чтобы в основном повторно использовать zip в качестве генератора. i.e izip из itertools. – M4rtini

Смежные вопросы