[英]How to split string by “-” for one item in a list?
我有一個包含一個項目的列表,需要用“-”分隔才能訪問數據的最后一段:
a = ['1-35-047-13-6299\t1\n']
通常,我將使用以下調用來做到這一點:
test = a.split("-")
但是,這會產生以下錯誤
>>> a = ['1-35-047-13-6299\t1\n']
>>> a
['1-35-047-13-6299\t1\n']
>>> test = a.split("-")
Traceback (most recent call last):
File "<interactive input>", line 1, in <module>
AttributeError: 'list' object has no attribute 'split'
>>>
如何使用split方法獲取列表項中的最后一段數據,例如“ 6299 \\ t1 \\ n”?
test = a[0].split('-')[-1]
print test
您在這里至少有兩個問題。 一方面,錯誤消息說split
期望一個字符串而不是一個列表,但是a
是一個字符串列表而不是一個字符串。 因此,在這種情況下, split
需要a[0]
,或者一般來說,您可以相信它是字符串。
然后,需要僅分割最右邊的元素。 這就是rsplit
目的,可能是使用限制拆分次數的參數。 因此,您想要的底線是:
test = a[0].rsplit('-',1)[1]
如果您的輸入字符串不包含-
字符,那么即使失敗也將失敗-捕獲rsplit
的整個輸出並檢查其長度,或者在其輸出中使用反向索引都可以防止這種情況。
追溯顯示: 'list' object has no attribute 'split'
“字符串”對象的屬性為“拆分”,可以使用a[i].split('-')
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.