如何判断列表中数字是否包含指定数字并对符合条件元素加1
问题解答
当然可以,这个思路完全可行。核心逻辑就是遍历列表中的每一个数值,检测其任意数位是否包含2,符合条件的数值执行加1操作,不符合的直接保留原值即可。
你可以选择两种常用的实现方式:
- 转字符串快速检测:把数值转为字符串后直接检查是否包含字符
2,写法简单易读original_list = [1, 22, 4, 18, 42] result = [num + 1 if '2' in str(num) else num for num in original_list] print(result) - 数学运算逐位检测:通过取余、整除操作逐位提取数字判断,不需要做类型转换
def has_digit_two(num): while num > 0: if num % 10 == 2: return True num = num // 10 return False original_list = [1, 22, 4, 18, 42] result = [num + 1 if has_digit_two(num) else num for num in original_list] print(result)
两种方法运行后都能得到你需要的输出[1, 23, 4, 18, 43]。
内容的提问来源于stack exchange,提问作者user16440950
相关产品推荐
相关产品推荐

