【发布时间】:2022-08-02 20:18:03
【问题描述】:
data = { k.replace(\"-\", \"_\"): None for k in fields }
它的真正含义是什么?
-
当您检查
fields和data时,您看到了什么?你能得出结论吗? -
理论上:我们不知道,因为我们不知道
k是什么。实际上:它将字符串 - 替换为 _ 。老实说:这有什么不明白的?
data = { k.replace(\"-\", \"_\"): None for k in fields }
它的真正含义是什么?
fields 和data 时,您看到了什么?你能得出结论吗?
k 是什么。实际上:它将字符串 - 替换为 _ 。老实说:这有什么不明白的?
在这里,您的 fields 变量必须是可迭代的(list, tuple, ...) 的 str,因此 k 必须是 str 并且您希望 replace 每个 - 到 _
【讨论】:
给定一个名为 fields 的列表,它会创建一个字典,其中每个键都是字段的每个元素(“-”替换为“_”),每个值都是 None。
fields = ["a", "b", "c-d"]
data = { k.replace("-", "_"): None for k in fields }
print(data)
{'a': None, 'b': None, 'c_d': None}
【讨论】: