Python 将整数列表转换为十进制字符串再转换回整数列表

0 投票
3 回答
878 浏览
提问于 2025-04-18 03:08

我需要在一个3D程序中传递一串数字,但这个程序只能接收一个单独的值。我想把这串数字用小数点分隔开,合成一个字符串,然后再把这个字符串转换回数字列表。我的目标是这样的:

a=[8,9,10,11] # 这个列表里永远都是整数

把列表里的元素转换成小数,然后合成一个字符串

a=".8.9.10.11"

然后再把这个字符串转换回列表

a=[8,9,10,11]

我在想这可能是用map()和join()这两个函数的组合,但我不太确定。谢谢大家的帮助!

3 个回答

0

在编程中,有时候我们会遇到一些问题,想要找到解决办法。比如说,可能会有一些错误信息或者代码运行不正常的情况。这时候,很多人会选择去StackOverflow这个网站寻求帮助。在那里,程序员们可以提问,也可以回答别人的问题。

当你在StackOverflow上提问时,最好把你的问题描述得清楚明了。这样,其他人才能更好地理解你的问题,并给出有效的建议。通常,描述问题时需要包括你遇到的错误信息、你使用的代码,以及你希望实现的目标。

如果你看到别人提问时没有提供足够的信息,可能会导致他们得不到帮助。所以,记得在提问时尽量详细,这样才能提高得到解决方案的机会。

总之,StackOverflow是一个很好的资源,可以帮助你解决编程中的各种问题,只要你能清楚地表达你的疑问。

a = [8, 9, 10, 11]
b = '.' + '.'.join(str(x) for x in a)
v = [int(x) for x in b.split('.')[1:]]
3

要把那个列表转换成字符串,只需要这样做:

a=[8,9,10,11]
b = '.'+'.'.join(a)

>>> print b
.8.9.10.11

如果你想从字符串中再得到那个列表,可以这样做:

b = '.8.9.10.11'
a = b[1:].split('.')

>>> print a
[8,9,10,11]
4

a 开始,它的值是 [8,9,10,11]

第一步是把它变成字符串:

a = ''.join('.{0}'.format(d) for d in a)
# ".8.9.10.11"

第二步是再把它变回整数列表:

a = [int(i) for i in a.split('.')[1:]]
# [8, 9, 10, 11]

撰写回答