Я пытаюсь написать последовательность, чтобы взять одномерный список (независимо от размера) и распечатать его в 2 столбца.Пока что то, что у меня есть, возвращает ошибку «Индекс вне диапазона».
В идеале, я бы хотел, чтобы он напечатал индекс [0] в качестве заголовка (который я записал вуже), а затем распечатать остальные индексы следующим образом:
- - - - - - - - - - - - - - - - - - - - - - - - -
NAMES
- - - - - - - - - - - - - - - - - - - - - - - - -
Rudolph S. Vena U.
Josef M. Efrain L.
Joye A. Mee H.
Joni M. Tanya E.
Rachelle L. Garrett H.
До сих пор я видел много примеров использования .zip (*) и других способов сделать что-то аналогично , но обычно включает двухмерный список, которого у меня нет.Кто-нибудь знает, как это можно улучшить?
spacing = '- ' * 25
data_list = [ "NAMES",
"Rudolph S.",
"Josef M.",
"Joye A.",
"Joni M.",
"Rachelle L.",
"Vena U.",
"Efrain L.",
"Mee H.",
"Tanya E.",
"Garrett H."]
while True:
fname_prompt = input("First Name: ").strip().capitalize()
if fname_prompt == "List" or fname_prompt == "list" or fname_prompt == "LIST":
for item, val in enumerate(data_list):
if item == 0:
print(spacing)
print('{:>27s}'.format(str(data_list[item])))
print(spacing)
else:
if item <= len(data_list):
print('{:<10s}'.format(str(data_list[item]) + '{:>20s}'.format(str(data_list[item +1]))))
else:
break