这是我想要实现的一个模拟示例:
我最初有一个大小为5的空列表列表:
l = [[] for _ in range(5)]
然后,在执行4次迭代的for循环中,我有一个返回索引列表的函数。我想用这些索引将“t”附加到列表中。
类似的东西:
for t in range(4):
idx = function_that_gives_indexes()
l[idx].append(t)
假设function_that_gives_indexes()
为每个循环赋予这些值:[1], [2, 4], [] and [0, 1]
。我希望l
成为:
l = [[3], [0, 3], [1], [], [1]]
最狡猾的做法是什么?
答案 0 :(得分:2)
由于您的函数每次都返回一个列表,因此您更正后的代码段就像
for t in range(4):
for idx in function_that_gives_indexes():
l[idx].append(t)
尝试使其更具pythonic似乎并不乐观。