将值附加到列表列表

时间:2018-06-04 21:21:10

标签: python list append

这是我想要实现的一个模拟示例:

我最初有一个大小为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]]

最狡猾的做法是什么?

1 个答案:

答案 0 :(得分:2)

由于您的函数每次都返回一个列表,因此您更正后的代码段就像

for t in range(4):
    for idx in function_that_gives_indexes():
        l[idx].append(t)

尝试使其更具pythonic似乎并不乐观。

相关问题