当前位置:  开发笔记 > 编程语言 > 正文

python字典更新方法

如何解决《python字典更新方法》经验,为你挑选了3个好方法。

我有一个列表字符串标记.

我正在尝试使用键作为标记字符串初始化字典,并将值作为数组索引.

for i, ithTag in enumerate(tag):
    tagDict.update(ithTag=i)

以上回报我{'ithTag':608} 608是第608个索引

我的问题是,当i被解释为变量时,Python将"ithTag"视为字符串而不是变量.

我很困惑,谷歌这些具体问题很难.我希望我正确地说出这个问题的标题,

谢谢!



1> Jerub..:

你真的想这样做:

for i, tag in enumerate(tag):
    tagDict[tag] = i

.update()方法用于使用另一个字典更新字典,而不是用于更改单个键/值对.



2> Claudiu..:

如果你想聪明:

tagDict.update(map(reversed, enumerate(tag)))

感谢Brian的更新.这显然比迭代版本快约5%.

(编辑:感谢saverio指出我的答案是不正确的(现已修复).可能最有效/ Pythonic的方式是Torsten Marek的答案,略有修改:

tagDict.update((t, i) for (i,t) in enumerate(tag))

)


`tagDict`的键必须是`tag`的元素.使用`tagDict.update(map(revers,enumerate(tag)))`,实际上是Torsten Marek答案的功能等同物.

3> Torsten Mare..:

这是一个单行:

tagDict = dict((t, i) for i, t in enumerate(tag))

推荐阅读
kikokikolove
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有