仅从列表中的字符串中获取数字[重复]

问题描述 投票:-2回答:3

这个问题在这里已有答案:

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

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

我怎样才能从这些字符串中获取数字?我试过跟随,但它完全错了。

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

任何帮助表示赞赏

python python-3.x
3个回答
0
投票

使用正则表达式:

import re
num_list = [re.search(r'\d+', x)[0] for x in mylist]

0
投票

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

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']

-1
投票

假设mylist总是包含'storeitem_n'形式的字符串,其中n是0到9的整数

你可以这样做得到n:

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

for items in mylist:
  print(items[-1])
© www.soinside.com 2019 - 2024. All rights reserved.