0
我正在尋找一些幫助理解爲什麼這不起作用。看起來python不會在字典理解中的現有字典中創建鍵,但這聽起來像個不好的笑話。更可能的是,我只是缺少一些東西。尋找幫助理解爲什麼這個詞典理解失敗
所以我在這裏。
## let's say, for the sake of argument: len(bigstr.split('\n')) < 1000
indexed = {1000:'stuff', 1001:'in here', 1002:'lots', 1003:'of it'}
{indexed[idx]:item.strip() for idx, item in enumerate(bigstr.split('\n'))}
這將工作(而不是燒成KeyError: 0
,如果它是這樣寫的:
indexed = {1000:'stuff', 1001:'in here', 1002:'lots', 1003:'of it'}
for idx, item in enumerate(bigstr.split('\n')):
indexed[idx] = item.strip()
事實上,這麼好會前一個片斷的工作,它使這個卡第一個工作驚人
所以我想我會耍小聰明,做一些事情(在一個新的會話),如:!
indexed = {1000:'stuff', 1001:'in here', 1002:'lots', 1003:'of it'}
new_items_only = {indices[idx]:item.strip() for idx, item in enumerate(bigstr.split('\n'))}
期待它的工作,因爲也許它只是不會與現有的字典(這是什麼我要去這裏)?
唉,沒有骰子。現在
,我要指出,我知道,如果我這樣做:
indices = {indices:item.strip() for idx, item in enumerate(bigstr.split('\n'))}
我可以得到字典的情況發生,但我想給鍵添加到現有的字典,你知道嗎?其實,你知道嗎?你能幫我理解這一點嗎?
感謝
哦不錯..這會做到這一點。肯定是我失蹤了。謝謝 – Inversus 2014-09-21 05:04:08
再次感謝您指點我更新,絕對做到了。 – Inversus 2014-09-21 06:02:46
@Inversus,你,歡迎。很高興幫助你。 – falsetru 2014-09-21 06:03:41