Вы не должны использовать встроенное имя для переменной: list
, это избавит вас от ошибок в день, если вы не думаете об этом
Тем не менее, Для создания пар из последовательных элементов есть несколько вариантов (, перечисленных здесь )
Вот один из них: zip(values[::2], values[1::2])
for name, link in zip(values[::2], values[1::2]):
print(f"*{name} - {link}")
# or shorter
sort_list = "\n".join([f"*{name} - {link}" for name, link in zip(values[::2], values[1::2])])
print(sort_list, "\n\n")
Обозначение среза [start:end:increment]
здесь
[::2]
: все значения от начала, 2 на 2 => все имена [1::2]
: все значения, кроме первого, 2 на 2 => все ссылки
Операция zip создает итератор, который агрегирует элементы из каждого из повторяемых элементов.
zip([1,2,3], ['a', 'b', 'c']) # => ((1,'a'), (2, 'b'), ('3, 'c'))
Итак, у вас есть список имен и список ссылок, и вы их пару
print(values[::2]) # ['username1', 'username2', 'username3']
print(values[1::2]) # ['https://link.com/bsd3nj', 'https://link.com/a32fs2', 'https://link.com/cfzxso']
print(list(zip(values[::2], values[1::2]))) # [('username1', 'https://link.com/bsd3nj'), ('username2', 'https://link.com/a32fs2'), ('username3', 'https://link.com/cfzxso')]