Python:创建多个列表

zat*_*izh 2 python list python-2.7 python-3.x

我正在尝试创建多个如下所示的列表:

l1 = []  
l2 = []  
..  
ln = []  
Run Code Online (Sandbox Code Playgroud)

有什么办法吗?

A.J*_*pal 5

您可以做的是使用字典:

>>> obj = {}
>>> for i in range(1, 21):
...     obj['l'+str(i)] = []
... 
>>> obj
{'l18': [], 'l19': [], 'l20': [], 'l14': [], 'l15': [], 'l16': [], 'l17': [], 'l10': [], 'l11': [], 'l12': [], 'l13': [], 'l6': [], 'l7': [], 'l4': [], 'l5': [], 'l2': [], 'l3': [], 'l1': [], 'l8': [], 'l9': []}
>>> 
Run Code Online (Sandbox Code Playgroud)

您还可以使用列表理解来创建列表列表:

>>> obj = [[] for i in range(20)]
>>> obj
[[], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], []]
>>> 
Run Code Online (Sandbox Code Playgroud)

  • `[[]] * 20` 为您提供了内部 `[ ]` 的 20 个引用的列表,这是不正确的。尝试将 1 个值附加到列表中,所有这些值也将具有该值。事实上,如果“L = [[]]*20”,那么“L[0] is L[1]”将为“True” (3认同)