如果我在python中有几个字符串的列表,并且每个字符串都包含一个值。如何获取这些值并将其打印到列表中?示例:字符串可能是“abc def g T = 5 hij”。除数字外,所有字符串都是相同的。
答案 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
是“多个字符串的列表。”
我应该注意,这只适用于所需数据位于第一个和第二个=
之间的字符串,但是我并不真正知道字符串的具体情况。这应该可以让您了解如何解决问题。