在Array列表中创建输出

时间:2016-10-14 08:15:25

标签: python

我输入的一个例子是:

3->0 0->1 1->2 2->3

我需要在数组列表中生成输出

{3,0,1,2}

我怎样才能做到这一点?

1 个答案:

答案 0 :(得分:0)

如果您希望数字位于"箭头"之前? (->),这是使用re的解决方案:

>>> list(map(int, re.findall('[0-9](?=->)', '3->0 0->1 1->2 2->3')))
[3, 0, 1, 2]

我使用map将字符串转换为int。

有关正则表达式的更多信息:

我使用超前表达式((?=->))来匹配此字符串之前的内容:'->'。 我要找的是0到9之间的数字,这要归功于一组字符[0-9]

请注意,例如,这不匹配10。在这种情况下,我需要将正则表达式更改为以下内容:[0-9]+(?=->),以匹配1个或更多数字。