【发布时间】:2018-05-21 06:10:04
【问题描述】:
我正在尝试编写一个序列来获取一维列表(无论大小)并将其打印在 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
【问题讨论】:
-
你可能会发现一些与表格相关的包here很有用。
标签: python string python-3.x list format