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

时间:2019-09-03 17:21:26

标签: python

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

mylist = ""
mylist = ["1.22.43.45"]

我收到一条执行错误,指出由于拆分操作是在列表而不是字符串上进行的,因此无法执行拆分操作。

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

我试图通过使用以下代码来解决它:

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

这是最好的方法吗?我想要的输出是45。我正在分割字符串并访问最后一个元素。任何帮助表示赞赏。

3 个答案:

答案 0 :(得分:1)

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

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

mylist = ["1.22.43.45"]

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

哪个将从列表中获取最后一个项目,然后尝试对其执行rsplit。当然,如果列表为空,或者列表中的最后一项不是字符串,则此方法将无效。您可能希望将其包装在try / except块中,以捕获例如IndexError。

编辑:由于末尾rsplit()返回的是列表而不是字符串,因此在末尾添加了[-1]索引以获取拆分中的最后一个列表项。参见DrBwts' answer

答案 1 :(得分:1)

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

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

答案 2 :(得分:0)

您可以通过索引运算符[]

访问第一个元素(在您的情况下为字符串)

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