将字符串(不带任何分隔符)转换为列表

nv3*_*v39 17 python string list

我有一个电话号码(字符串),例如"+ 123-456-7890",我想变成一个看起来像这样的列表:[+,1,2,3, - ,....,0].

为什么?所以我可以遍历列表并删除所有符号,所以我留下了一个只有数字的列表,然后我可以将其转换回字符串.

解决这个问题的最佳方法是什么?我遇到的所有解决方案都不适用,因为我在数字之间没有任何特殊字符(所以我不能在那里拆分字符串.)

有任何想法吗?对此,我真的非常感激!

编辑 - 这是我尝试过的:

x = row.translate(None, string.digits)
list = x.split()
Run Code Online (Sandbox Code Playgroud)

也:

filter(lambda x: x isdigit())
Run Code Online (Sandbox Code Playgroud)

poi*_*oae 59

制作一个清单(your_string).

>>> s = "mep"
>>> list(s)
['m', 'e', 'p']
Run Code Online (Sandbox Code Playgroud)


mgi*_*son 8

你的意思是你想要的东西:

''.join(n for n in phone_str if n.isdigit())
Run Code Online (Sandbox Code Playgroud)

这使用了字符串可迭代的事实.当你迭代它们时,它们一次产生1个字符.


关于你的努力,

这个实际上删除了字符串中的所有数字,只留下非数字.

x = row.translate(None, string.digits)
Run Code Online (Sandbox Code Playgroud)

这个在空格的运行中拆分字符串,而不是在每个字符之后:

list = x.split()
Run Code Online (Sandbox Code Playgroud)


Kab*_*bie 6

''.join(filter(str.isdigit, "+123-456-7890"))
Run Code Online (Sandbox Code Playgroud)