如何将Python字典值中的字符串列表转换为整数列表?
把字典中字符串列表转换为整数列表的方法
示例输入
d = {'a': ['1', '2', '3'], 'b': ['4', '5', '6'], 'c': ['7', '8', '9']}
目标输出
d = {'a': [1, 2, 3], 'b': [4, 5, 6], 'c': [7, 8, 9]}
解决方案
1. 字典推导式(推荐,简洁高效)
一行代码生成新字典,不修改原数据:
d = {'a': ['1', '2', '3'], 'b': ['4', '5', '6'], 'c': ['7', '8', '9']} new_d = {k: [int(s) for s in v] for k, v in d.items()}
2. 直接修改原字典
如果不需要保留原字典的字符串列表,可以直接循环替换每个键对应的值:
d = {'a': ['1', '2', '3'], 'b': ['4', '5', '6'], 'c': ['7', '8', '9']} for k in d: d[k] = [int(s) for s in d[k]]
3. 处理异常情况(可选)
如果列表中可能存在非数字字符串,避免报错可以加异常捕获,这里示例跳过无法转换的元素:
d = {'a': ['1', '2', '3'], 'b': ['4', 'abc', '6'], 'c': ['7', '8', '9']} new_d = {} for k, v in d.items(): int_list = [] for s in v: try: int_list.append(int(s)) except ValueError: continue # 跳过不能转成整数的元素 new_d[k] = int_list
内容的提问来源于stack exchange,提问作者winterdiablo
相关产品推荐
相关产品推荐

