私はオブジェクトのリストを持っていますが、私はオブジェクトの属性(例えば、名前)からそのリストのオブジェクトのインデックスを取得しようとしています。以下の例のようなものに似て:今、私はのインデックスを取得しようとしているオブジェクトの属性の1つを持つオブジェクトのリストからインデックスを取得
class Employee:
def __init__(self, name):
self.name = name
def add_emp(name):
employees.append(Employee(name))
employees = []
add_emp('Emp1')
「EMP1」リストでself.employees(ここでは「0」)。
print(employees.index(filter(lambda x: x.name == 'Emp1', employees)))
が、彼は
と言われます:私はここにこれを試してみました:「とValueError 0xblablaで<フィルタオブジェクト>はリストにありません」。私は何を変えなければならないのですか、これを処理するにはより良い選択肢がありますか?
'enumerate'関数を使うことができます。' i、o'の形式でタプルのイテレータを返します。ここで 'i'はインデックス、' o'は実際のオブジェクトです。 – dcg
@dcg私はこの 'enumerate(employees)'を試してみましたが、これは私にこれを与えました: '<0xblablaでオブジェクトを列挙> – watschen
@hkzlそれを反復する必要があります – dcg