如何从含整数字符串与普通字符串的父列表创建新整数列表?
提取列表中可转换为整数的元素方法
给定原列表:
List = ["2","10","15","23","exit"]
要生成仅包含整数的新列表List_new = [2,10,15,23],可以用以下两种常用方法实现:
方法一:异常捕获法(通用可靠)
通过遍历列表,尝试将每个元素转换为整数,成功则保留,失败则跳过:
List = ["2","10","15","23","exit"] List_new = [] for item in List: try: num = int(item) List_new.append(num) except ValueError: # 转换失败,跳过当前元素 continue
执行后List_new就是目标列表,这种方法能处理所有合法的整数格式字符串(比如"-123"这类负数也能正确识别)。
方法二:字符串判断法(直观简洁)
先判断字符串是否为纯数字格式(包含负号的情况需额外处理),符合条件再转换:
List = ["2","10","15","23","exit"] List_new = [int(item) for item in List if item.lstrip('-').isdigit()]
这里item.lstrip('-')用来处理负数字符串,确保"-5"这类格式也能被识别为合法整数。如果你的场景里没有负数,直接用item.isdigit()即可。
内容的提问来源于stack exchange,提问作者Jerin Joy
相关产品推荐
相关产品推荐

