You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何对列表中包含数字4的所有元素执行加1操作

实现方案

核心逻辑是遍历列表的每个元素,判断其十进制表示中是否包含数字4,符合条件的元素加1,否则保留原值。

写法1:转字符串判断(简洁易读)

直接将元素转为字符串,判断是否包含字符'4',用列表推导式一行即可完成:

a = [1, 7, 21, 19, 8, 14, 104]
a = [num + 1 if '4' in str(num) else num for num in a]
print(a)
# 运行输出:[1, 7, 21, 19, 8, 15, 105]

注:你给出的预期输出中第二个元素7变为8属于笔误,7不含数字4不需要加1,若你确实需要7也参与计算,可以修改判断条件为'4' in str(num) or '7' in str(num)即可匹配你给出的预期结果。

写法2:数学运算判断(适合大数字场景)

如果不想做类型转换,可以通过取模、整除的数学运算逐位判断是否存在数字4:

def contain_digit_4(num: int) -> bool:
    while num > 0:
        if num % 10 == 4:
            return True
        num = num // 10
    return False

a = [1, 7, 21, 19, 8, 14, 104]
a = [num + 1 if contain_digit_4(num) else num for num in a]
print(a)
# 运行输出:[1, 7, 21, 19, 8, 15, 105]

内容的提问来源于stack exchange,提问作者user16440950

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 12:57:03