Python:替换字典中的所有值

use*_*716 2 python dictionary

是否可以用整数1替换字典中的所有值,无论值如何?

谢谢!

mgi*_*son 11

您可以使用字典理解(正如其他人所说的)创建一个与旧字典具有相同键的新字典,或者,如果您需要完成整个事情:

for k in d:
    d[k] = 1
Run Code Online (Sandbox Code Playgroud)

如果你真的喜欢1-liners,你可以使用以下方法来实现update:

d.update( (k,1) for k in d )
Run Code Online (Sandbox Code Playgroud)


Gre*_*ill 8

当然,你可以这样做:

d = {x: 1 for x in d}
Run Code Online (Sandbox Code Playgroud)

这创建了一个新的字典d,将d(旧的)中的每个键映射到1.

  • 修改原始字典:`for d in d:d [k] = 1` (7认同)
  • 还有另一种方式:`d = d.fromkeys(d, 1)` (2认同)