Django defaultdict丢弃一个值 - 无法复制

时间:2016-04-25 22:57:15

标签: python django defaultdict

我正在将三个元组的列表转换为字典,格式如下:

data = [(1, 4.0, 135.0),
       (1, 5.0, 336.0),
       (1, 6.0, 615.0),
       (2, 4.0, 50.0),
       (2, 5.0, 78.0),
       (3, 3.0, 110.0),
       (3, 4.0, 155.0),
       (3, 5.0, 188.0),
       (3, 6.0, 250.0)]

data_transform = defaultdict(list)

for item_ in data:
    data_transform[item_[0]].append(list(item_[1:]))

finished_data = dict(data_transform)
finished_data

这回归了我正在寻找的东西:

 {1 : [[4.0, 135.0], [5.0, 336.0], [6.0, 615.0]],
  2 : [[4.0, 50.0], [5.0, 78.0]],
  3 : [[3.0, 110.0], [4.0, 155.0], [5.0, 188.0], [6.0, 250.0]]}

这在ipython笔记本和偶像中应该有效,但是Django会丢掉第一个值,所以我有:

    { 2 : [[4.0, 50.0], [5.0, 78.0]],
      3 : [[3.0, 110.0], [4.0, 155.0], [5.0, 188.0], [6.0, 250.0]]}

其他一切都是正确的 - 它只是不断删除第一个值,因此它会在我的代码中导致问题。我已经看到一些关于默认dict和django问题的stackoverflow帖子,但它们都与模板有关,我的代码在视图中。我在django / python shell环境(python manage.py shell)和同样的问题中运行了相同的代码。

0 个答案:

没有答案