[英]python dictionary update method
我有一個列表字符串標記。
我正在嘗試使用鍵作為標記字符串初始化字典,並將值作為數組索引。
for i, ithTag in enumerate(tag):
tagDict.update(ithTag=i)
以上回報我{'ithTag':608} 608是第608個索引
我的問題是,當i被解釋為變量時,Python將“ithTag”視為字符串而不是變量。
我很困惑,谷歌這些具體問題很難。 我希望我正確地說出這個問題的標題,
謝謝!
你真的想這樣做:
for i, tag in enumerate(tag):
tagDict[tag] = i
.update()方法用於使用另一個字典更新字典,而不是用於更改單個鍵/值對。
如果你想聰明:
tagDict.update(map(reversed, enumerate(tag)))
感謝Brian的更新。 這顯然比迭代版本快約5%。
(編輯:感謝saverio指出我的答案是不正確的(現已修復)。可能最有效/ Pythonic的方式是Torsten Marek的答案,略有修改:
tagDict.update((t, i) for (i,t) in enumerate(tag))
)
這是一個單行:
tagDict = dict((t, i) for i, t in enumerate(tag))
我想你想要的是這個:
for i, ithTag in enumerate(tag):
tagDict.update({ithTag: i})
我想這就是你想要做的:
d = {}
for i, tag in enumerate(ithTag):
d[tag] = i
嘗試
tagDict[ithTag] = i
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.