python如何定义一个空列表1s_如何在Python中创建空列表的列表或元组?

如果没有some排序的循环,就没有办法创建这样的列表。不过,隐藏循环有多种方法,就像[[]] * x隐藏循环一样。还有列表理解,它“隐藏”了表达式中的循环(幸运的是它仍然很明显),还有map(list, [[]]*x)它有两个隐藏的循环(一个在[[]] * x中,另一个在map中,使用list()创建每个列表的副本)

也有可能事先不创建列表列表。其他的答案已经涵盖了简单的方法,但是如果这不符合你的需要,还有其他的方法。例如,可以根据需要创建一个函数,将空列表追加到result列表中,并调用该函数:def append(L, idx, item):

while len(L) <= idx:

L.append([])

L[idx].append(item)

for i in range(x):

for j in someListOfElements:

append(result, i, j)

或者可以使用collections.defaultdict(list)而不是列表:import collections

result = collections.defaultdict(list)

for i in range(x):

for j in someListOfElements:

result[i].append(j)

这样做的好处是使用一个已经存在的类型,这是一个较少的工作,但它确实意味着您现在有一个dict(由整数索引)而不是一个列表,这可能是您想要的,也可能不是您想要的。或者您可以创建一个行为类似于列表但将新列表附加到自身而不是引发索引器错误的类,例如:import UserList

class defaultlist(UserList.UserList):

def __getitem__(self, idx):

while len(self) <= idx:

self.append([])

return UserList.UserList.__getitem__(self, idx)

result = defaultlist()

for i in range(x):

for j in someListOfElements:

result[i].append(j)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值