如何将字典列表中所有record_id值统一转换为字符串列表类型
实现方案
原代码问题排查
- 遍历对象不匹配:你定义的数据源变量为
list_of_dict,但循环中遍历的是未声明的result变量 - 逻辑顺序错误:入口处直接强制将
record_id的值转为字符串,会破坏原本为列表类型的原始结构 - 语法错误:类型判断的不等符号误写为
1=,正确写法为!=,且类型判断优先用isinstance()方法兼容性更好 - 转换逻辑错误:无需调用
split()处理数值,非列表类型的值转字符串后直接包裹为单元素列表即可,列表类型的值只需遍历内部元素逐个转字符串即可。
可运行的正确代码
list_of_dict = [ {'f_text': 'sample', 'symbol': '*', 'f_id': 246, 'record_id': [4679], 'flag': 'N'}, {'f_text': 'other text', 'symbol': '!#', 'f_id': 247, 'record_id': 4678, 'flag': 'N'} ] for item in list_of_dict: record_id_val = item['record_id'] if isinstance(record_id_val, list): item['record_id'] = [str(i) for i in record_id_val] else: item['record_id'] = [str(record_id_val)]
运行后得到的list_of_dict和你给出的预期输出完全一致。
内容的提问来源于stack exchange,提问作者sruthi
相关产品推荐
相关产品推荐

