我有一列数据,使用Python进行访问,数据如下:
501,555,570=3.5
我想得到
570=3.5
。我该如何做?这会是split命令的变化吗? >>> s = '501,555,570=3.5'
>>> s.split(",")[-1]
'570=3.5'
这将访问分割字符串中的最后一个元素。它不依赖于字符串中有多少个逗号。
较长字符串的示例:
>>> s = "501,555,670,450,1,12,570=3.5"
>>> s.split(",")[-1]
'570=3.5'
str.rsplit()
函数:In [34]: s = '501,555,570=3.5'
In [35]: s.rsplit(',', 1)[1]
Out[35]: '570=3.5'
如果你使用的是最新版本的Python 3,这是对wim答案的轻微变化:
>>> s = '501,555,570=3.5'
>>> *others, last = s.split(',')
>>> last
'570=3.5'
last = s.split(',')[-1]
即可访问最后一个元素。 - MSeifert>>> s = '501,555,570=3.5'
>>> others, last = s.rsplit(',', 1)
>>> last
'570=3.5'
另一种变体,以及我自己的做法:
>>> s = '501,555,570=3.5'
>>> last = s.split(',')[-1]
>>> last
'570=3.5'
使用rpartition
,正如@MartijnPieters♦在他的评论中提到的。
对于单个拆分,
str.rpartition()
会更快。
>>> s.rpartition(',')[-1]
'570=3.5'
s[s.rfind(',') + 1 : ]
split()
应该可以工作。 - 9000