创建一个产生"n"列表的for循环(当n = 5时,5个列表,当n = 10时,列表为10个)

js_*_*_55 0 python for-loop

我多次尝试这样做但失败了

尝试1

num = int(input("How many products are you looking at: "))

for i in range(num):
    a="list"+str(i)
    a=[]
Run Code Online (Sandbox Code Playgroud)

尝试2(假设少于26个列表)

num = int(input("How many products are you looking at: "))

alphabet="abcdefghijklmnopqrstuvwxyz"

while(num>0):
    alphabet[0]=[]
    num=num-1
    alphabet=alphabet[1:]
Run Code Online (Sandbox Code Playgroud)

感谢您的帮助

额外部分:

谢谢,谢谢你的帮助.我有一个最后一步,我需要制作n个矩阵.有没有办法制作任意数量的矩阵,比如5,矩阵标题为matrix1 = ......,matrix2 = .....等等?然后将列表中的矩阵.我一直在使用Python中的numpy,并且知道如何制作矩阵.下面是3x3矩阵.

matrix = numpy.zeros(shape=(3,3))
Run Code Online (Sandbox Code Playgroud)

但是一个矩阵列表给了我一些问题.这是我的尝试.

listOfMatrices=list(map(lambda x:matrix,range(int(num))))
Run Code Online (Sandbox Code Playgroud)

另一种尝试.

[matrix = numpy.zeros(shape=(n,n)) for _ in range(int(n)))]
Run Code Online (Sandbox Code Playgroud)

Gar*_*tty 6

这是列表理解的一个很好的用例:

[[] for _ in range(int(input("How Many?")))]
Run Code Online (Sandbox Code Playgroud)

这会产生[]- 每次迭代都有一个空列表,但您可以使用任何表达式来构建结果列表.

结果是一个项目列表 - 在这种情况下是空列表:[[], [], ...].

当然,您可以利用迭代中的值,例如:

>>> [["First Element of List {0}".format(i)] for i in range(int(input("How Many?")))]
How Many?5
[['First Element of List 0'], ['First Element of List 1'], 
 ['First Element of List 2'], ['First Element of List 3'], 
 ['First Element of List 4']]
Run Code Online (Sandbox Code Playgroud)

这些列表中的每一个都与任何其他对象一样.如果将此列表分配给值(items = [... for ... in ...]),则可以像任何其他项目(items[0])一样访问子列表,并从那里访问子列表()的项目items[0][0].

>>> items = [["First Element of List {0}".format(i)] for i in range(int(input("How Many?")))]
How Many?5
>>> items[1].append("Second Element of List 1")
>>> items
[
    ['First Element of List 0'], 
    ['First Element of List 1', 'Second Element of List 1'], 
    ['First Element of List 2'], 
    ['First Element of List 3'], 
    ['First Element of List 4']
]
Run Code Online (Sandbox Code Playgroud)