【问题标题】:How to turn multiple lists from one variable into one list (odoov11)?如何将多个列表从一个变量变成一个列表(odoov11)?
【发布时间】:2021-10-26 13:52:08
【问题描述】:

我有一个字段:

 overtime_50 = fields.Char(readonly=True, default='00:00')

我列出了这个字段,我得到了很多列表:

def _compute_sum_50(self):
    for record in self:
    x = [record.overtime_50]
    print(x)

控制台打印:

['00:00']
['00:00']
['00:00']
['00:00']
['00:00']
['00:00']
['00:00']
['00:00']
['00:00']
['00:00']
['00:00']

我需要像这样得到一些东西:

['00:00','00:00','00:00','00:00','00:00','00:00','00:00','00:00','00:00']

我尝试了很多方法,但我只能得到这样的结果:

def _compute_sum_50(self):
    for record in self:
        x = [record.overtime_50]
        print(list(chain.from_iterable(x)))

控制台打印:

['0', '0', ':', '0', '0']
['0', '0', ':', '0', '0']
['0', '0', ':', '0', '0']
['0', '0', ':', '0', '0']
['0', '0', ':', '0', '0']
['0', '0', ':', '0', '0']
['0', '0', ':', '0', '0']
['0', '0', ':', '0', '0']
['0', '0', ':', '0', '0']
['0', '0', ':', '0', '0']
['0', '0', ':', '0', '0']

我能做错什么?

【问题讨论】:

  • 在每次迭代中,您重新分配x,当您真的想追加到它时。一旦你弄清楚如何做到这一点,你可能还想看看理解。

标签: python list odoo python-3.6


【解决方案1】:
def _compute_sum_50(self):
  x = [record.overtime_50for record in self] # Use List Comprehension
  print(x)

编辑:Dipen Shah 提供的更好的解决方案

【讨论】:

    猜你喜欢
    • 2019-10-27
    • 1970-01-01
    • 2013-02-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-07
    • 1970-01-01
    • 2017-09-20
    相关资源
    最近更新 更多