Odoo 10 python 数组列表调用元素
Odoo 10 python array list call element
@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]]
我尝试了所有组合,但都不起作用。
谢谢。
您应该使用 'print employee_array[0]["count"]',因为 'count' 是您字典的关键字。如果您不将其放在引号中,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"]
你可以使用 print employee_array[count]["count"] :exemple
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
中的每一项
@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]]
我尝试了所有组合,但都不起作用。 谢谢。
您应该使用 'print employee_array[0]["count"]',因为 'count' 是您字典的关键字。如果您不将其放在引号中,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"]
你可以使用 print employee_array[count]["count"] :exemple
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
中的每一项