从字符串列表中获取值(python)

时间:2012-07-27 23:09:14

标签: python

如果我在python中有几个字符串的列表,并且每个字符串都包含一个值。如何获取这些值并将其打印到列表中?示例:字符串可能是“abc def g T = 5 hij”。除数字外,所有字符串都是相同的。

2 个答案:

答案 0 :(得分:2)

您可以使用正则表达式。假设您的字符串列表名为items

result = [int(re.search(r'\d+', x).group(0)) for x in items]

如果不保证该值是字符串中的唯一数字,只需使正则表达式更具体;比方说,

re.search(r'T = (\d+)', x).group(1)

答案 1 :(得分: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]

其中listOfVals是输出列表,strList是“多个字符串的列表。”

备注

我应该注意,这只适用于所需数据位于第一个和第二个=之间的字符串,但是我并不真正知道字符串的具体情况。这应该可以让您了解如何解决问题。