2016-10-05 9 views
2

タプルのリストから変数を作成してクラスに割り当てる方法を理解しようとしています。タプルのリストから変数を作成してクラスとして設定する方法は?

私はこの

employeelist = [(John, 30, Employed), (Steve, 25, Part-Time)] 

そして、これを使用して、この

class Employee(): 
ecount = 0 
elist = [] 

def __init__(self, name, age, emp_status): 
    self.name = name 
    self.age = age 
    self.emp_status = emp_status 
    self.lookup = {} 
    Employee.ecount = Employee.ecount+1 
    Employee.elist.append(self.name) 

のように設定したクラスのようなタプルのリストを作成しているこの

Name Age Status 
John 30 Employed 

のように編成されたデータを持っていますコードタプルをクラスのインスタンスにすることができます

for i in range(0, len(employeelist),1): 
    sublist = [str(n) for n in employeelist[i]] 
    Employee(sublist[0], sublist[1], sublist[2]) 

しかし、私はそれらにアクセスできません。サブリスト[0] =従業員(サブリスト[0]、サブリスト[1]、サブリスト[0])のように、サブリスト[0]から変数を作成してそれからクラスを作成するためのforループの設定について考える方法はありますか? 2])))?

答えて

4

あなただけの各Employeeオブジェクトが作成された たらemployeesEmployee.elistは本質的に同じであることを

employees = [Employee(*v) for v in employee_list] 

注意が必要です。

+0

ウェイもっとpythonic :)私はこれがダムの質問であり、私のノーバネスを示していると思いますが、オブジェクトを作成したらどのようにクラスを通してジョンの年齢を取得できますか? – DataNoob

+0

私は、リスト内のどのオブジェクト 'e'が' e.name == "John" 'を持っているとしていますか?いくつかのインデックスがなければ、あなたはそれを歩かなければなりません: 'johns_age = [e.nameがe.name ==" John "] [0]'ならば従業員のeのe.age。 – chepner

+0

もう一度ありがとうございます。私はインデックスに目を通し、それを行う方法を徹底的に混乱させています。初心者にとって役に立つと思われるものに私をリンクさせることはできますか? – DataNoob

関連する問題