我一直在尝试在python列表中添加一些数据.我实际上将数据作为列表存储在列表中.现在,数据不会以索引方式出现.
要解释一下,我可以说我有一个列表'a'.现在我有数据a[2]之前a[1].两者a[1]并a[2]都列出了自己.现在,显然我不能a[2]在分配之前分配任何内容a[1].我不知道会有多少名单.我的意思是,这应该是动态的.
任何解决方案,以便我可以成功建立列表?
您可以附加空列表,直到您有足够的权限访问您拥有以下数据的索引:
while len(outerlist) <= idx:
outerlist.append([])
Run Code Online (Sandbox Code Playgroud)
但是,您可能希望使用字典,而是让您实现稀疏对象.一个collections.defaultdict()对象是在这里尤其有用:
from collections import defaultdict
data = defaultdict(list)
data[2].append(3)
data[5].append(42)
Run Code Online (Sandbox Code Playgroud)
data现在有按键2和5,每一个元素的列表.没有条目0,1,3,或4尚不存在.
我有同样的问题,用一定数量的列表填充空列表。这是我的出路,我制作了一个充满 O 的“板”6x6,只是为了即时:
board = []
for i in range(6): # create a list with nested lists
board.append([])
for n in range(6):
board[i].append("O") # fills nested lists with data
Run Code Online (Sandbox Code Playgroud)
结果:
[['O', 'O', 'O', 'O', 'O', 'O'],
['O', 'O', 'O', 'O', 'O', 'O'],
['O', 'O', 'O', 'O', 'O', 'O'],
['O', 'O', 'O', 'O', 'O', 'O'],
['O', 'O', 'O', 'O', 'O', 'O'],
['O', 'O', 'O', 'O', 'O', 'O']]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
49264 次 |
| 最近记录: |