簡體   English   中英

python字典更新方法

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM