On 2016-03-03 23:08, John Gordon wrote:
In <8b3d06eb-0027-4396-bdf8-fee0cc9ff...@googlegroups.com> vlyamt...@gmail.com 
writes:

i have list of strings "data" and i am trying to build reverse list data1
data1 = []
for i in range(len(data)):
   j = len(data) - i
   data1.append(data[j])

but i have the following error:
data1.append(data[j])
IndexError: list index out of range

am i doing it wrong?
Thanks

Python lists are zero-indexed, meaning a list of five items will have
indexes 0 to 4.

The first time through your loop, i is 0, so

     j = len(data) - i

evaluates to

     j = len(data)

which would yield 5 for a five-element list, but the last actual element
is in data[4].

A simpler alternative is to use 'reversed':

data1 = list(reversed(data))

--
https://mail.python.org/mailman/listinfo/python-list

Reply via email to