如果我在 python 中有几个字符串的列表,并且每个字符串都包含一个值。如何获取这些值并将它们打印到列表中?示例:字符串可能是“abc def g T = 5 hij”。除数字外,所有字符串都相同。
问问题
189 次
2 回答
2
您可以使用正则表达式。假设您的字符串列表被称为items
:
result = [int(re.search(r'\d+', x).group(0)) for x in items]
如果不能保证该值是字符串中唯一的数字,只需使正则表达式更具体;说,
re.search(r'T = (\d+)', x).group(1)
于 2012-07-27T23:20:37.513 回答
0
一种方法
使用split()
字符串上的方法将其拆分为列表。
newList = "abc def g T = 5 hij".split()
如果您需要拆分除空格以外的其他内容,请在split()
. 例如,
"abc def g T = 5 hij".split("=")[1]
在等号上拆分字符串。
因此,根据我对您的情况的了解,这样的事情应该可以解决问题:
listOfVals = [valStr.split("=")[1] for valStr in strList]
wherelistOfVals
是输出列表,strList
是“几个字符串的列表”。
笔记
我应该注意,这仅适用于您想要的数据在 first 和 second 之间的字符串=
,但是我真的不知道您的字符串的细节。不过,这应该让您了解如何解决问题。
于 2012-07-27T23:10:32.603 回答