【发布时间】:2017-10-31 19:55:34
【问题描述】:
我想根据用户的需要获取嵌套列表的尺寸。 然后将用户给出的字符串附加到相应的元素上。 在嵌套列表中找到最大长度的字符串以正确左对齐文本。 然后左对齐字符串以以表格形式打印字符串。 该程序应该解决这个问题
Enter the number of main items in the list: 3
Enter the number of sub items that each list will contain: 4
(1,1):apples
(1,2):oranges
(1,3):cherries
(1,4):banana
(2,1):Alice
(2,2):Bob
(2,3):Carol
(2,4):David
(3,1):dogs
(3,2):cats
(3,3):moose
(3,4):goose
Following list must be created in the program
listOfList= [ ['apples', 'oranges', 'cherries', 'banana'],
['Alice', 'Bob', 'Carol', 'David'],
['dogs', 'cats', 'moose', 'goose']]
output given by a print table function should be like this:
'''
apples Alice dogs
oranges Bob cats
cherries Carol moose
banana David goose
这是我的实际代码
#Organising Lists of Lists in tablular Form
x=int(input("Enter the number of main items in the list: "))
y=int(input("Enter the number of sub items that each list will contain: "))
listOfList=[[]]
for i in range(x):
for j in range(y):
listOfList[i][j]=input('('+str(i+1)+','+str(j+1)+'):')
def printTable(nestedList):
maxLen=0
#this loop finds the max Length of any string in the nestedList
for i in range(x):
for j in range(y):
if len(nestedList[i][j])>maxLen:
maxLen=len(nestedList[i][j])
#Loop to display table
for j in range(y):
for i in range(x):
print(nestedList[i][j].ljust(maxLen),sep=' ', end='')
print()
printTable(listOfList)
发生错误:
Enter the number of main items in the list: 3
Enter the number of sub items that each list will contain: 4
(1,1):apples
Traceback (most recent call last):
File "C:\pyscripts\printTable.py", line 7, in <module>
listOfList[i][j]=input('('+str(i+1)+','+str(j+1)+'):')
IndexError: list assignment index out of range
【问题讨论】:
-
初始化列表并使用它。您正在尝试在空列表中添加索引。我们不能在空列表中分配索引。尝试初始化你会得到答案。
标签: python list multidimensional-array nested nested-lists