python中数字如何转为列表

python中数字如何转为列表

作者:Rhett Bai发布时间:2026-01-07阅读时长:0 分钟阅读次数:33

用户关注问题

Q
如何将整数转化为单个数字组成的列表?

我有一个整数,比如12345,想要把它转换成一个列表,里面包含数字1, 2, 3, 4, 5,该如何实现?

A

使用字符串转换结合列表推导实现数字拆分

可以先将整数转换为字符串,然后对字符串进行迭代,将每个字符再转换回整数,组成一个列表。例如:

num = 12345
num_list = [int(digit) for digit in str(num)]
print(num_list)  # 输出: [1, 2, 3, 4, 5]
Q
如何将浮点数转换为包含整数和小数部分的数字列表?

我有一个浮点数,比如12.34,想把整数部分和小数部分各自拆成数字组成的列表,应该怎么做?

A

通过拆分字符串后分别转换成数字列表

首先将浮点数转换为字符串,然后用小数点分割整数和小数部分,分别对两部分进行数字拆分转为列表。例如:

num = 12.34
int_part, dec_part = str(num).split('.')
int_list = [int(d) for d in int_part]
dec_list = [int(d) for d in dec_part]
print(int_list)  # 输出: [1, 2]
print(dec_list)  # 输出: [3, 4]
Q
有没有直接的方法将数字转换成列表而不转换为字符串?

是否能够利用数学运算的方式,直接将数字拆成列表,而不通过把数字转成字符串?

A

通过取模和整除的数学运算拆分数字

可以通过取模(%)和整数除法(//)的方式,从数字的个位开始拆分出每一位数字,放入列表。但需要倒序处理后再翻转得到正确顺序。例如:

def number_to_list(num):
    digits = []
    while num > 0:
        digits.append(num % 10)
        num //= 10
    return digits[::-1]

print(number_to_list(12345))  # 输出: [1, 2, 3, 4, 5]