我想創建一個字典,使用程度爲關鍵和值必須全部採取學位學生。下面,SAM需要工商管理學士學位,傑克拿工商管理學士學位,等事先循環通過兩個列表創建字典
students = ['sam','jack','rose','khan','marry','xio']
degrees = ['bcom','bcom','bsc','arts','bsc','arts']
我想創建一個字典,使用程度爲關鍵和值必須全部採取學位學生。下面,SAM需要工商管理學士學位,傑克拿工商管理學士學位,等事先循環通過兩個列表創建字典
students = ['sam','jack','rose','khan','marry','xio']
degrees = ['bcom','bcom','bsc','arts','bsc','arts']
由於可能是這個片段做你想要什麼:
dictionary = {}
for degree, student in zip(degrees, students):
dictionary.setdefault(degree, []).append(student)
{ '藝術': '汗', 'XIO'], '工商管理學士學位': 'SAM', '傑克'], 'BSC': '玫瑰', '娶']}
這裏是另一種緊湊的方式來實現這一行爲:
s2d = dict(zip(students, degrees))
{k: [s for s, d in s2d.items() if d==k] for k in degrees}
{ '管理學士學位':[ 'SAM', '千斤頂'], 'BSC':[ '玫瑰', '嫁'], '藝術':[ '汗', 'XIO']}
雖然它不會工作,如果你有,如果同一個學生將採取兩個不同程度