我要将odoo 11,python 2.7移植到python3。我已经编辑了一个插件,该插件属于odoo,python代码。
代码是:
vat = invoice.partner_id.vat or ''
vat = list(filter(lambda x: x.isnumeric(), vat[:2])) + vat[2:]
错误是:
TypeError: can only concatenate list (not "str") to list
我该如何解决,这段代码有什么问题?请帮助我。
答案 0 :(得分:1)
list(filter(lambda x: x.isnumeric(), vat[:2]))
此操作始终在 上面,返回列表。
vat = invoice.partner_id.vat or ''
or ''
)。如果您希望自己的type(vat)==list
,则应该使用
vat = invoice.partner_id.vat or []
如果期望type(vat)==str
,则应将过滤后的列表转换为str
,例如
"".join(list(filter(lambda x: x.isnumeric(), vat[:2]))) + vat[2:]
答案 1 :(得分:-1)
使用行
vat = invoice.partner_id.vat or ''
#convert string to list
vat = [x for x in val]
vat = list(filter(lambda x: x.isnumeric(), vat[:2])) + vat[2:]
首先将字符串转换为列表。