首页 > 解决方案 > 仅从列表中的字符串中获取数字

问题描述

所以我有一个看起来像这样的列表

mylist = ['storeitem_1','storeitem_2','storeitem_3']

我将如何从这些字符串中只获取数字?我尝试跟随,但结果完全错误。

for items in mylist:
  print(items.split("storeitem_"))

任何帮助表示赞赏

标签: pythonpython-3.x

解决方案


这是使用正则表达式的一种方法:

import re

mylist = ['storeitem_1','storeitem_2','storeitem_3']

re.findall('\d+', '|'.join(mylist))

这使:

['1', '2', '3']

或者,更符合您正在尝试的内容:

[i.split('_')[-1] for i in mylist]

给你同样的:

['1', '2', '3']

推荐阅读