בר חיימוביץ
בר חיימוביץ

Reputation: 41

How to add number to each item in list?

I want to add automatic number to each item in the list using for :

name = ['name1','name2','name3']

at the end that what i want to look like:

1. name1
2. name2
3. name3

the code that i write:

Number = [1, 2, 3]
Name = ['name1', 'name2', 'name3']
for EachNumber in Number:
  for EachName in Name:
    print(EachNumber,EachName)

Which outputs

1 name1
1 name2
1 name3
2 name1
2 name2
2 name3
3 name1
3 name2
3 name3

Upvotes: 0

Views: 1391

Answers (4)

Akshay Sehgal
Akshay Sehgal

Reputation: 19312

You can use enumerate for this quite simply as -

l = ['name1','name2','name3']
for i in enumerate(l):
    print(i[0]+1,'-', i[1])
1 - name1
2 - name2
3 - name3

Upvotes: 0

hammad rauf
hammad rauf

Reputation: 91

You can use enumerate in loop

names = ['name','name','name']

for index,name in enumerate(names):

  names[index] = f'{name}{index+1}'


print(names) 

Output:

['name1', 'name2', 'name3']

Upvotes: 0

alani
alani

Reputation: 13049

You can use enumerate, with an second argument of 1 to make it start at 1 rather than 0, and then combine the index and value into a string.

name = [f'{i}. {val}' for i, val in enumerate(name, 1)]

This gives:

['1. name1', '2. name2', '3. name3']

Upvotes: 1

Bill Lynch
Bill Lynch

Reputation: 81916

To iterate in parallel, you'll want to use the zip function:

numbers = [1, 2, 3]
names = ['name1', 'name2', 'name3']
for number, name in zip(numbers, names):
  print(number, name)

Which will output:

1 name1
2 name2
3 name3

Upvotes: 0

Related Questions