0
我正在研究一個在線課程,其中一個問題要求我們根據列表中的索引與基於以下列表和詞典的關鍵字的理解中的薪金匹配名稱:在Python中理解理解
d = {0:1000.0, 1:1200.50, 2:990}
names = ['Larry', 'Curly', 'Moe']
listdict2dict = { ... }
期望的輸出:
{'Larry':1000.0,'Curly':1200.50,'Moe':990}
我已經寫以下:
{names[x]:y for x in range(len(names)) for y in d.values() if x == d.keys()}
它返回一個空集。
有人可以給我一個提示或兩個(而不是代碼答案)如何解決這個問題?
謝謝!
'd.keys()'給出'd'中所有鍵的列表。當你爲'for x命名'時,x是for循環每次迭代中'names'中的一個特定鍵。因此,'x'(總是一個字符串)永遠不會是一個字典中的鍵列表(不存在任何字符串's',例如某個列表'L'的s == L')。由於if-condition總是失敗,因此最終會出現空集 – inspectorG4dget
請參閱編輯x,現在它是一個整數。 – goldisfine
儘管如此,'int'永遠不會等於'list',不管它們的值是什麼 – inspectorG4dget