On 03/03/2016 22:51, vlyamt...@gmail.com wrote:
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

At the first pass through the for loop, j is effectively set to len(data). As Python is indexed from zero this will always take you beyond the end of data, hence the IndexError.


am i doing it wrong?
Thanks


You are doing things the difficult way.  First up, using the construct:-

for i in range(len(data)):

is usually not needed in Python.

There is a reversed function https://docs.python.org/3/library/functions.html#reversed which will do the job for you.

data1 = list(reversed(data))

Or use the slice notation

data1 = data[::-1]

--
My fellow Pythonistas, ask not what our language can do for you, ask
what you can do for our language.

Mark Lawrence

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

Reply via email to