python - 在 Python 中添加到字典时可以连接一个值吗?
问题描述
dictionary.setdefault(key, []).append(somelist)
我不想将列表附加到某个键的值,而是想在循环中将字符串连接到我的值。所以每次迭代,键都会映射到一个不同的值,这个值已经与一个新的字符串连接起来。我怎么能那样做?
解决方案
str
值是不可变的,因此您不能将字符串连接到现有值;您只能用旧字符串形成的新字符串替换原始字符串。Adefaultdict
简化了这一点。
>>> d = collections.defaultdict(str)
>>> d["foo"] += "bar"
>>> d["foo"] += "baz"
>>> d["foo"]
'barbaz'
setdefault
在这里不起作用,因为您无法分配 的返回值setdefault
,例如
>>> d.setdefault("foo", "") += "bar"
File "<stdin>", line 1
SyntaxError: can't assign to function call
推荐阅读
- javascript - jQuery Draggable 不会移动文本中的插入符号位置
- maven-2 - 如何从存储库中删除 Sonatype Nexus OSS(3) 组件?
- julia - Julia RemoteChanel 示例给出 UndefVarError
- javafx - 在 JavaFX 多维数据集上显示标签
- c++ - 如何使用输入法打开某个文件夹中的文件夹[C++]
- reporting-services - SSRS - 如何格式化 SQL 数据以生成时间序列的折线图?
- r - 仅列出目录中位于 R 中的参考 data.frame 中的文件?
- jmeter - 在构建正则表达式时需要帮助
- java - 这个java类型签名是什么意思?
- android-studio - 我想在 android studio 中创建这个漂亮的动画。有人能帮我吗?