dlist=['All my loving','All my bros','And all sis']
工作的字典,我想創造這樣,所有的詞(如鑰匙)被分配一個值,該值的DLIST的指數,其中詞出現的字典。 例如, '所有':{0,1}, '我':{0,1}, '姐姐'= {2}等的if-else理解與不python3
不知怎的,這並不工作:
dict={}
{w:{num} if w not in dict.keys() else dict[w].add(num) for (num,strn) in enumerate(dlist) for w in strn.split()}
This returns
{'All':{2}, 'my':{2}}
看起來像else語句被忽略。任何指針? 謝謝
一旦你有兩個'for'循環,並在一個字典理解一個'if'聲明,考慮將其分成幾行。 – Blender
你通過不給它指定一個名字來拋棄你的詞典理解的結果,*和*你正在改變你現有的詞典作爲理解的一部分。最重要的是,你有*名*變量'dict',這本身就令人困惑。就好像你已經*嘗試*以儘可能最鈍的方式寫下它。使用更好的變量名稱,不要嘗試將它全部寫入一行。 – kindall