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

如何在Python中输入数字串并按两位分组输出为整数列表?

实现输入1234输出[12, 34]的几种方法

当然可以实现啦!原来的代码是把输入字符串的每个字符单独转成整数,所以会得到单个数字组成的列表。要得到每两位一组的结果,我们可以换个思路,先把字符串按两位分割,再转成整数。下面给你几种实用的方法:

方法一:列表推导式(最直观)

直接利用字符串切片,按步长2遍历输入字符串,每次取两位字符转成整数:

s = input().strip()
x = [int(s[i:i+2]) for i in range(0, len(s), 2)]
print(x)

当输入1234时,输出就是[12, 34]。如果输入是奇数长度(比如12345),这个方法会自动把最后单独的一位也转成整数,输出[12, 34, 5]。

方法二:使用itertools分组(更通用)

如果你需要处理更复杂的分组场景,可以借助itertools模块的工具:

import itertools

s = input().strip()
# 把字符串迭代器分成每2个元素一组
groups = itertools.zip_longest(*[iter(s)]*2, fillvalue='')
x = [int(''.join(group)) for group in groups]
print(x)

这个方法和上面的效果类似,fillvalue参数可以指定当长度为奇数时,最后一组的填充值(这里设为空字符串,所以最后单个字符会直接转成整数)。

补充说明

原来的代码x = list(map(int, input()))之所以得到[1, 2, 3, 4],是因为input()返回的是字符串"1234",map(int, input())会逐个遍历字符串中的每个字符('1'、'2'、'3'、'4'),把它们分别转换成整数,最后转成列表就得到了单个数字的集合。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.22 08:55:01