Reputation: 41
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
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
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
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
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