python – 将列表中的特定元素从字符串转换为整数
发布时间:2020-12-20 11:58:00 所属栏目:Python 来源:网络整理
导读:参见英文答案 Python – Convert partial sublist’s elements into int????????????????????????????????????1个 我有一个结构化的列表列表,其中每个元素都是一个字符串.我想将此列表列表中的某些(已知索引,始终相同)元素转换为整数.我尝试过使用list compr
参见英文答案 >
Python – Convert partial sublist’s elements into int????????????????????????????????????1个
我有一个结构化的列表列表,其中每个元素都是一个字符串.我想将此列表列表中的某些(已知索引,始终相同)元素转换为整数.我尝试过使用list comprehension或isdigit()方法(没有负面元素)但是无法弄明白. list_of_lists = [['spam','1','toast'],['bacon','5','eggs'],['juice','8','tea']] new_breakfast_list = [[int(element) for element in row] for row in list_of_lists] 上面的代码可以理解地给出了ValueError:int()的无效文字,基数为10:’spam’,当它尝试转换第一个元素时.我想要忽略错误并继续前进到下一个元素,或者可能专门循环到像list_of_lists [i] [1]这样的东西,所以我可以得到: print(new_breakfast_list) [['spam',1,5,8,'tea']] 解决方法
你的列表理解几乎是正确的,你只需要在内部循环中使用isdigit()进行检查,并使用int(element)或just元素,具体取决于isdigit的值.
new_breakfast_list = [[int(element) for element in row if element.isdigit() else element] for row in list_of_lists] 或者,如您所知,整数元素出现在索引1处,您可以使用: for element in list_of_lists: element[1]=int(element[1]) 如果您知道要更改的索引,则应使用此方法,因为它会不必要地循环遍历每个元素. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |