从列表结果中选择1个特定值

时间:2019-06-26 09:52:11

标签: python string

我想使用python从列表结果字符串中选择一个特定值。 例如:

mystring= ['abc', 'cde', 'def', 'ghk', 'xyz']

我想选择并打印出"abc""xyz"之间的每个结果,例如:

result1 = cde
result2 = def
result3 = ghk

2 个答案:

答案 0 :(得分:1)

尝试一下

import re

x = 'abc, cde, def, ghk, xyz'
m = re.search('abc, (.+?), xyz', x)
if m:
    result1, result2, result3 = m.group(1).split(', ')
    print(result1, result2, result3, sep="\n")

输出: cde ef ghk

答案 1 :(得分:0)

您可以使用列表推导在定界符之间形成项目列表。

string = "abc, cde, def, ghk, xyz"
start, end = "abc", "xyz"
res = [s for s in string[string.index(start) + len(start) + 2: string.index(end) - 2].split(", ")]  # len(", ") = 2
print(*(f"result{i + 1} = {s}" for i, s in enumerate(res)), sep="\n")

输出:

result1 = cde
result2 = def
result3 = ghk