2017-09-26 9 views
0
@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] 

要素をどのように呼び出すことができますか?Odoo 10 python配列リスト呼び出し要素

employee_array[0].count 

または

employee_array[0[count]] 

私はすべての組み合わせを試してみましたが、それは動作しません。 ありがとうございます。

+0

コードを実行するとどのようなエラーが発生しますか? –

答えて

1

'count'は辞書のキーであるため、 'print employee_array [0] ["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 

ORあなたが探していることがあります

>>> print employee_array[count] 

ない:

>>> print employee_array[0]["count"] 
を使用でき
+0

ああ、ありがとう.. –

1

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で各項目を印刷する

関連する問題