将一个字符串的列表转换为字符串并执行拆分操作的有效方法



我有一个列表,其中包含如下所示的字符串。我已经使用""将全局空间中的mylist定义为字符串。

mylist = ""
mylist = ["1.22.43.45"]

我收到一个执行错误,指出拆分操作是不可能的,因为它是在列表而不是字符串上执行的。

mylist.rsplit(".",1)[-1]

我尝试使用以下代码解决它:

str(mylist.rsplit(".",1)[-1]

这是最好的方法吗?我想要的输出是45.我正在拆分字符串并访问最后一个元素。任何帮助,不胜感激。

mylist=["1.22.43.45"]
newstring = mylist[0].rsplit(".",1)[-1]

首先选择列表中的元素,然后拆分,然后选择拆分中的最后一个元素

仅仅因为你先分配了mylist = "",并不意味着它会将列表转换为字符串。您刚刚将变量重新分配为指向列表而不是空字符串。

您可以使用以下方法完成所需的操作:

mylist = ["1.22.43.45"]
mylist[-1].rsplit('.', 1)[-1]

这将从列表中获取最后一项并尝试对其执行 rsplit。当然,如果列表为空,或者列表中的最后一项不是字符串,这将不起作用。例如,您可能希望将其包装在try/except 块中以捕获IndexError。

编辑:在末尾添加了[-1]索引以从拆分中获取最后一个列表项,因为rsplit()返回一个列表,而不是一个字符串。查看DrBwts的答案

您可以通过索引运算符访问第一个元素(在本例中为字符串([]

mylist[0].rsplit(".", 1)[-1]

相关内容

最新更新