首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何将字符串中的所有数字映射到Python中的列表?

如何将字符串中的所有数字映射到Python中的列表?
EN

Stack Overflow用户
提问于 2013-04-01 23:07:44
回答 2查看 301关注 0票数 1

假设我有一个字符串,比如

代码语言:javascript
运行
复制
"There are LJFK$(#@$34)(,0,ksdjf apples in the (4,5)"  

我希望能够动态地将数字提取到一个列表中:[34, 0, 4, 5]

在Python中有没有一种简单的方法可以做到这一点?

换句话说,

有什么方法可以提取由任何分隔符分隔的连续数字簇吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-04-01 23:09:25

当然,使用regular expressions

代码语言:javascript
运行
复制
>>> s = "There are LJFK$(#@$34)(,0,ksdjf apples in the (4,5)"
>>> import re
>>> list(map(int, re.findall(r'[0-9]+', s)))
[34, 0, 4, 5]
票数 7
EN

Stack Overflow用户

发布于 2013-04-01 23:22:54

您也可以在没有正则表达式的情况下做到这一点,尽管这需要更多的工作:

代码语言:javascript
运行
复制
>>> s = "There are LJFK$(#@$34)(,0,ksdjf apples in the (4,5)"
>>> #replace nondigit characters with a space
... s = "".join(x if x.isdigit() else " " for x in s)
>>> print s
                   34   0                      4 5
>>> #get the separate digit strings
... digitStrings = s.split()
>>> print digitStrings
['34', '0', '4', '5']
>>> #convert strings to numbers
... numbers = map(int, digitStrings)
>>> print numbers
[34, 0, 4, 5]
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15745949

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档