でリストを持つ値に置き換え:今私は社員や過去の企業の辞書作成したパイソン
{person 1: [company 2, company 3], person 2: [company 2]}
を、私はその会社で働いている人のリストと各リスト内の各会社を交換したいです。
私は、隣接リスト(キーと値の両方としての人物とのすなわち辞書であることを最終的な結果をしたいと思います。
でリストを持つ値に置き換え:今私は社員や過去の企業の辞書作成したパイソン
{person 1: [company 2, company 3], person 2: [company 2]}
を、私はその会社で働いている人のリストと各リスト内の各会社を交換したいです。
私は、隣接リスト(キーと値の両方としての人物とのすなわち辞書であることを最終的な結果をしたいと思います。
あなたが使用し、その後、あなたのマップをループする必要があるとcompany: people
の別のマップを作成します同じ効果を達成するための最良の方法はそれのために働く人々のリストを保存する会社オブジェクトを持っているだろうので、そのマップには?これは架空のか、具体的な例であるpeople: people
pc_map = # your person: company map
cp_map = {}
for person, companies in pc_map.items():
for company in companies:
cp_map.setdefault(company, []).append(person)
pp_map = {}
for person, companies in pc_map.items():
pp_map[person] = [cp_map[company] for company in companies]
の第三マップを生成しますフィールドとして。
class Company:
__init__(self):
self.employees = []
company1 = Company()
company1.employees.append("person1")
company1.employees.append("person2") #OR
company1.employees = ["person1","person2"]
これは、かなり清潔である間に隣接行列の抽象化(単純にcompany1.employeesへのアクセス)を可能にします。
*どちらかの会社で働く人のリスト、または会社ごとに別々のリストでなければなりませんか? –