Bob
Bob

Reputation: 217

Create a list of 100 integers whose values equal their indexes

Create a list of 100 integers whose value and index are the same, e.g.

mylist[0] = 0, mylist[1] = 1, mylist[2] = 2, ...

Here is my code.

x_list=[]

def list_append(x_list):
    for i in 100:
        x_list.append(i)

        return(list_append())
    print(x_list)

Upvotes: 6

Views: 85853

Answers (7)

zyxwvutsr qpnmlkj
zyxwvutsr qpnmlkj

Reputation: 1

import random
data1=[]
def f(x):
    return(random.randrange(0,1000))
for x in range (0,100):
    data1.append(f(x))

data1

Upvotes: -1

codingBoy
codingBoy

Reputation: 33

Also can use List Comprehensions, like

[x for x in range(100)]

Upvotes: 1

PiMathCLanguage
PiMathCLanguage

Reputation: 375

If you want to import numpy you could do something like this:

import numpy as np

x_list = np.arange(0, 100).tolist()

Should work in python2.7 and python3.x

Upvotes: 0

Veedrac
Veedrac

Reputation: 60177

Since nobody else realised you're using Python 3, I'll point out that you should be doing list(range(100)) to get the wanted behaviour.

Upvotes: 20

tom10
tom10

Reputation: 69242

You can use range(100), but it seems that you are probably looking to make the list from scratch, so there you can use while:

x_list=[]
i = 0
while i<100:
    x_list.append(i)
    i += 1

Or you could do this recursively:

def list_append(i, L):
    L.append(i)
    if i==99:
        return L
    list_append(i+1, L)

x_list = []
list_append(0, x_list)
print x_list

Upvotes: 2

user2665694
user2665694

Reputation:

Use range() for generating such a list

>>> range(10)
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> range(10)[5]
5

Upvotes: 6

TerryA
TerryA

Reputation: 60004

for i in 100 doesn't do what you think it does. int objects are not iterable, so this won't work. The for-loop tries to iterate through the object given.

If you want to get a list of numbers between 0-100, use range():

for i in range(100):
    dostuff()

The answer to your question is pretty much range(100) anyway:

>>> range(100)[0]
0
>>> range(100)[64]
64

Upvotes: 2

Related Questions