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

Python如何实现列表内各数字元素单独反转而非反转列表顺序?

列表单元素数位反转实现方案

list.reverse()的作用是原地反转列表内元素的排列顺序,不会修改元素本身的内容,因此无法实现「反转每个元素数位」的需求,可通过以下两种方案实现目标效果:

方案一:字符串转换法(代码简洁,日常场景优先用)

核心逻辑是将每个整数转为字符串后做字符串反转,再转回整数类型,通过列表推导式即可完成批量处理:

# 测试用例1
l = [12, 51, 32]
l = [int(str(num)[::-1]) for num in l]
print(l)  # 输出: [21, 15, 23]

# 测试用例2
l = [21, 35, 56]
l = [int(str(num)[::-1]) for num in l]
print(l)  # 输出: [12, 53, 65]

注意:该方法处理末尾带0的整数(如100)时,反转后字符串为'001',转整数会自动丢弃前导0得到结果1,如果需要固定数位长度保留前导0,需额外做补0处理。

方案二:数学运算法(无类型转换,性能更优)

通过取模、整除运算逐位拆分数字,重新拼接为反转后的整数,适合大数据量下的性能敏感场景:

def reverse_single_num(num):
    res = 0
    while num > 0:
        res = res * 10 + num % 10
        num = num // 10
    return res

l = [12, 51, 32]
l = [reverse_single_num(num) for num in l]
print(l)  # 输出: [21, 15, 23]
  • 该方法默认仅处理正整数,如果列表包含负数,可先提取符号位,对数字绝对值做反转后再乘回符号位即可
  • 输出规则和字符串转换法一致,会自动省略反转后产生的前导0

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.31 22:54:25