Как перебирать кортеж и диапазон - PullRequest
0 голосов
/ 29 января 2020

Пытаюсь перебрать кортеж и диапазон, чтобы добавить к кортежу диапазон numbers при печати. ​​

for mt in range(1, 8):
    print(mt)

my_tuple = (("ben", "monday"),("john", "tuesday"),("steve", "wednesday"),("Isaac","thursday"),("van", "friday"),("tom", "saturday"),("bryan","sunday"))

for row in my_tuple:
    print(row)

Ожидаемый результат

(1, 'ben', 'monday')
(2, 'john', 'tuesday')
(3, 'steve', 'wednesday')
(4, 'Isaac', 'thursday')
(5, 'van', 'friday')
(6, 'tom', 'saturday')
(7, 'bryan', 'sunday')

Ответы [ 2 ]

5 голосов
/ 29 января 2020

Вы можете использовать enumerate, чтобы получить индекс строки:

list_of_tuples = [("ben", "monday"),("john", "tuesday"),("steve", "wednesday"),("Isaac","thursday"),("van", "friday"),("tom", "saturday"),("bryan","sunday")]

for i, row in enumerate(list_of_tuples, 1):
    print((i, *row))
0 голосов
/ 30 января 2020

При использовании понимания списка:

my_tuple = (("ben", "monday"),("john", "tuesday"),("steve", "wednesday"),("Isaac","thursday"),("van", "friday"),("tom", "saturday"),("bryan","sunday"))

print([(i+1, t[0], t[1]) for i, t in enumerate(my_tuple)])

# [(1, 'ben', 'monday'), (2, 'john', 'tuesday'), (3, 'steve', 'wednesday'), (4, 'Isaac', 'thursday'), (5, 'van', 'friday'), (6, 'tom', 'saturday'), (7, 'bryan', 'sunday')]

ОБНОВЛЕНИЕ: Или даже лучше, как указано в комментариях:

[(i, *t) for i, t in enumerate(my_tuple, 1)]
...