python - 用零或字符串替换字典值中的所有整数

标签 python python-3.x dictionary replace

这是我的:

d1 = {"00f_5" :["AAA","AAC",3], 'oof_6': ["CCC",2,3]}

我愿意:

d2 = {"00f_5" :["AAA","AAC",0], 'oof_6': ["CCC",0,0]}

d2 = {"00f_5" :["AAA","AAC",Ref], 'oof_6': ["CCC",Ref,Ref]}

我该怎么做?

最佳答案

你可以这样做,用字典理解:

d1 = {"00f_5" :["AAA","AAC",3], 'oof_6': ["CCC",2,3]}

out = {key: [value if not isinstance(value, int) else 0 for value in lst] 
           for key, lst in d1.items()}

print(out)
# {'00f_5': ['AAA', 'AAC', 0], 'oof_6': ['CCC', 0, 0]}

对于每个子列表,我们使用列表理解,如果它不是 int 则保留该值,否则替换它(此处为 0,但您可以在此处放置一个字符串)。

关于python - 用零或字符串替换字典值中的所有整数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55080179/

相关文章:

python - 正则表达式对由空格分隔的单词进行分组

java - 如何在Spring中将多个 map 合并为一个

c++ - 设置/访问使用 map<string, boost::any> 制作的锯齿状 map 值

python - 如何将新号码插入列表?

python - 提供节点名或服务名,或未知

python - ValueError : The field admin. LogEntry.user 是用惰性引用声明的

gcc 认为 Python3.3 header 优先于 Python2.7 header

python - 类型错误:无法将 'builtin_function_or_method' 对象隐式转换为 str

python - 尝试解析日志文件并使用 python 中的表创建 CVS 报告。由于某种原因,代码返回空表

python - 根据字典值和 python 中的一些条件创建列表