我有一個列表,其中包含如下所示的字符串。我已經mylist在全局空間中使用"".mylist = ""
mylist = ["1.22.43.45"]我收到一個執行錯誤,指出無法進行拆分操作,因為它是在列表而不是字符串上執行的。mylist.rsplit(".",1)[-1]我嘗試使用以下代碼解決它:str(mylist.rsplit(".",1)[-1]這是最好的方法嗎?我想要的輸出是45. 我正在拆分字符串并訪問最后一個元素。任何幫助表示贊賞。
3 回答

LEATH
TA貢獻1936條經驗 獲得超7個贊
mylist=["1.22.43.45"]
newstring = mylist[0].rsplit(".",1)[-1]
首先選擇列表中的元素,然后拆分,然后選擇拆分中的最后一個元素

慕無忌1623718
TA貢獻1744條經驗 獲得超4個贊
僅僅因為您首先分配mylist = ""
,并不意味著它將列表轉換為字符串。您剛剛將變量重新分配為指向列表而不是空字符串。
您可以使用以下方法完成您想要的操作:
mylist = ["1.22.43.45"] mylist[-1].rsplit('.', 1)[-1]
這將從列表中獲取最后一項并嘗試對其執行 rsplit。當然,如果列表為空,或者列表中的最后一項不是字符串,這將不起作用。例如,您可能希望將其包裝在 try/except 塊中以捕獲 IndexError。
編輯:將 [-1] 索引添加到末尾以從拆分中獲取最后一個列表項,因為rsplit()
返回的是列表,而不是字符串。見DrBwts 的回答
添加回答
舉報
0/150
提交
取消