@api.depends('employee_id')
def create_employee_report(self):
count = 0
employee_array = []
employee_data = {}
for employee in self.env['hr.employee'].search([]):
if employee.socialsecurityno:
count = count + 1
employee_data ={'count':str(count),'sicil_no':employee.socialsecurityno}
employee_array.append(employee_data)
print employee_array
print employee_array[0][count]
我怎么叫这个元素?
employee_array[0].count
或
employee_array[0[count]]
我尝试了所有的组合,但它不起作用。谢谢。
发布于 2017-09-26 09:29:32
你应该使用‘打印employee_array’作为‘计数’是你的字典的一个关键。如果不把它放在引号中,python假定它是一个变量。我假设您总是希望按照代码从数组中打印第0元素。
下面是for循环内部正在发生的事情的示例片段:
>>> employee_array = []
>>> employee_data ={'count':"1",'sicil_no':"9704"}
>>> employee_array.append(employee_data)
>>> print employee_array
[{'count': '1', 'sicil_no': '9704'}]
>>> print employee_array[0]["count"]
1
>>> employee_data ={'count':"2",'sicil_no':"9705"}
>>> employee_array.append(employee_data)
>>> print employee_array
[{'count': '1', 'sicil_no': '9704'}, {'count': '2', 'sicil_no': '9705'}]
>>> print employee_array[0]["count"]
1
也可能是你在寻找:
>>> print employee_array[count]
而不是:
>>> print employee_array[0]["count"]
发布于 2017-09-26 10:51:56
您可以使用打印employee_arraycount :示例
for employee in self.env['hr.employee'].search([]):
if employee.socialsecurityno:
count = count + 1
employee_data = {'count':str(count),'sicil_no':employee.socialsecurityno}
employee_array.append(employee_data)
print employee_array
print employee_array[count]["count"]
在employee_array中打印每个项目
https://stackoverflow.com/questions/46422533
复制相似问题