Хотя весь ваш пример не имеет большого смысла, вот один из способов избежать IndexError
:
for i in range(min(10, len(runo))): # loop at most to the minimum
# between ten and len(runo)
(runo[i]) # <-- this does nothing here!
Другой способ:
for v in runo[:10]: # access no more than first 10 elements
v # <-- also does nothing. v is equivalent to runo[i] from the previous loop
Теперь, если вы хотитеисправьте overbought1
строку, затем сделайте следующее:
overbought1 = "Top 10 overbought today: $" + " $".join(runo[:10])
или даже:
overbought1 = ("Top %d overbought today: $" % len(runo)) + " $".join(runo[:10])