# Python script error

**URL:** <https://forum.dynamobim.com/t/python-script-error/16966>\
**Category:** Revit\
**Tags:** revit, python\
**Created:** [November 29, 2017, 10:41pm UTC](https://forum.dynamobim.com/t/python-script-error/16966 "2017-11-29T22:41:14Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![Andaroo](https://avatars.discourse-cdn.com/v4/letter/a/c68b51/32.png) [@Andaroo](https://forum.dynamobim.com/u/Andaroo)\
**Post date:** [November 29, 2017, 10:41pm UTC](https://forum.dynamobim.com/t/python-script-error/16966/1 "2017-11-29T22:41:14Z")

</div>

I get the following error when running the code below:

Warning: IronPythonEvaluator.EvaluateIronPythonScript operation failed.  
Traceback (most recent call last):  
File “”, line 47, in   
IndexError: index out of range: 4

```
import clr
clr.AddReference('ProtoGeometry')
from Autodesk.DesignScript.Geometry import *

clr.AddReference("RevitNodes")
import Revit

from Revit.Elements import *

import clr
clr.AddReference("DSCoreNodes")
from DSCore import *

#The inputs to this node will be stored as a list in the IN variables.

#Assign your output to the OUT variable.
OUT = []

numberOfRevitentries = IN[0]
numberOfExcelentries = IN[3]
RevitLst = IN[1]
ExcelLst = IN[2]

Excelcount = 0
Revitcount = 0

RevitArray = List.GetItemAtIndex(RevitLst,Revitcount)
RevitRevDescription = List.FirstItem(RevitArray)
RevitRevDate = List.GetItemAtIndex(RevitArray,1)
RevitIssuedStatus = List.GetItemAtIndex(RevitArray,2)
RevitRevSequence = List.GetItemAtIndex(RevitArray,3)

ExcelArray = List.GetItemAtIndex(ExcelLst,Excelcount)
ExcelRevDescription = List.FirstItem(ExcelArray)
ExcelRevDate = List.GetItemAtIndex(ExcelArray,1)
ExcelIssuedStatus = List.GetItemAtIndex(ExcelArray,2)
ExcelRevSequence = List.GetItemAtIndex(ExcelArray,3)

while(Revitcount < numberOfRevitentries and Excelcount < numberOfExcelentries):
	if(RevitRevDescription == ExcelRevDescription and RevitRevSequence ==ExcelRevSequence):
		Excelcount = Excelcount + 1
		ExcelArray = List.GetItemAtIndex(ExcelLst,Excelcount)		
	else:
		RevitArray = List.GetItemAtIndex(RevitLst,Revitcount)
		Revitcount = Revitcount + 1 

	
			
#count = count + 1

OUT = Revitcount

```

 ![Capture](https://us1.discourse-cdn.com/flex022/uploads/dynamobim/original/3X/9/d/9d886e1cdf7cb6f3e556dda871f3c7d7ae7a499c.PNG)

---

<div class="post-metadata">

**Author:** ![Nic](https://avatars.discourse-cdn.com/v4/letter/n/45deac/32.png) [@Nic](https://forum.dynamobim.com/u/Nic)\
**Post date:** [November 30, 2017, 6:17pm UTC](https://forum.dynamobim.com/t/python-script-error/16966/2 "2017-11-30T18:17:38Z")

</div>

Index out of range means the index you’re using in List.GetItemAtIndex is greater than size of list. You’re adding 1 to Excelcount _before_ fetching item List.GetItemAtIndex(ExcelLst, Excelcount). Inverting the two lines should fix it.
