繁体   English   中英

在 Python 中将字符串从 [ 作为起始字符和 ] 作为结束字符用逗号分隔成两个列表

[英]Splitting string from [ as start character and ] as end character separated by comma into two lists in Python

我有一个输入为 [1,3,4], [1,2,6,8],我不熟悉使用正则表达式。 我想将上述输入分成两部分,分别为 1 3 4 和 1 2 6 8 并将它们视为单独的列表。 我已经尝试过,但它不起作用

pattern = re.compile(r'\[([^]]*)\]')
s=[1,3,4], [1,2,6,8]
print(pattern.findall(s))```

为什么需要使用正则表达式? 您的输入已经构建为列表元组:

list_a, list_b = eval("[1,3,4], [1,2,6,8]")
print(list_a)

[1, 3, 4]

print(list_b)

[1、2、6、8]

这是使用re.findall 、 string split()和列表理解的一个选项:

inp = "[1,3,4], [1,2,6,8]"
output = [x.split(',') for x in re.findall(r'\d+(?:,\d+)*', inp)]
print(output)

这打印:

[['1', '3', '4'], ['1', '2', '6', '8']]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM