Pretty sure it is because you’re trying to iterate over the integer “amounts” which is your input number IN[1]…
Try this code instead (removed a little).
import clr
clr.AddReference('RevitAPI')
from Autodesk.Revit.DB import *
import Autodesk
clr.AddReference('RevitServices')
import RevitServices
from RevitServices.Persistence import DocumentManager
from RevitServices.Transactions import TransactionManager
doc = DocumentManager.Instance.CurrentDBDocument
views = UnwrapElement(IN[0])
amounts = IN[1]
elementlist = list()
dupopt = Autodesk.Revit.DB.ViewDuplicateOption.Duplicate
TransactionManager.Instance.EnsureInTransaction(doc)
for view in views:
i = 0
while i<amounts:
newview = view.Duplicate(dupopt)
elementlist.append(doc.GetElement(newview))
i += 1
TransactionManager.Instance.TransactionTaskDone()
OUT = elementlist