如何从字典的键与值中移除维度部分并转换为整数?
如何移除字典中的维度信息并转换为整数字典?
嘿,这个需求很直观,咱们可以用Python的字符串处理和字典推导式快速搞定。先看完整的实现代码,再拆解每一步的逻辑:
# 原始字典 Open = { '22.0x7.5x8.0 12.0': ['4.60x4.30x4.30 13.00, 4.60x4.30x4.30 1.00, 4.60x4.30x4.30 2.00, 6.60x6.00x5.16 5.00'], '18.0x7.0x7.0 7.0': ['4.60x4.30x4.30 1.00, 8.75x6.60x5.60 4.00'], '22.0x7.5x8.0 9.0': ['6.60x6.00x5.16 5.00, 6.60x6.00x5.16 9.00, 6.60x6.00x5.16 5.00'] } # 转换逻辑 new = { int(float(key.split()[-1])): # 处理键:分割后取数字部分转整数 [int(float(item.split()[-1])) for item in value[0].split(', ')] # 处理值:拆分每个项后转整数 for key, value in Open.items() } # 验证结果 print(new)
关键步骤拆解:
- 处理字典的键:每个键是
"维度 数字"的格式,用split()按空格分割后,取最后一个元素(比如"12.0"),先转成float再转int,就能得到整数12。 - 处理字典的值:每个值是一个包含逗号分隔字符串的列表,先取列表里的唯一元素(
value[0]),用split(', ')拆分成单个的"维度 数字"项,再对每个项重复键的处理逻辑,提取数字转整数,最后组成新的列表。 - 字典推导式:用一行代码完成整个字典的转换,比循环更简洁高效。
运行这段代码后,你会得到完全符合需求的结果:
{12: [13, 1, 2, 5], 7: [1, 4], 9: [5, 9, 5]}
内容的提问来源于stack exchange,提问作者Rahul Sharma
相关产品推荐
相关产品推荐

