我有一个包含这样的数据的列,我可以通过Python访问:
501,555,570=3.5
我想获得570=3.5
。
我该怎么做?它会是split命令的变体吗?
答案 0 :(得分:6)
您可以使用str.rsplit()
功能,如下所示:
In [34]: s = '501,555,570=3.5'
In [35]: s.rsplit(',', 1)[1]
Out[35]: '570=3.5'
答案 1 :(得分:3)
如果你是最近的Python 3版本,那么wim的回答会略有不同:
>>> s = '501,555,570=3.5'
>>> *others, last = s.split(',')
>>> last
'570=3.5'
答案 2 :(得分:2)
>>> s = '501,555,570=3.5'
>>> others, last = s.rsplit(',', 1)
>>> last
'570=3.5'
答案 3 :(得分:2)
另一种变体,以及我自己如何做到这一点:
>>> s = '501,555,570=3.5'
>>> last = s.split(',')[-1]
>>> last
'570=3.5'
答案 4 :(得分:2)
>>> 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'
答案 5 :(得分:2)
在他的rpartition
中使用comment和@ MartijnPieters♦。
对于单个拆分,
str.rpartition()
会更快。
>>> s.rpartition(',')[-1]
'570=3.5'
答案 6 :(得分:1)
您可以在找到最后一个逗号之后从该位置获取子字符串。
s[s.rfind(',') + 1 : ]