2011-08-30 66 views
2

我想隔離數組的每個字符串元素的子字符串,使它是字符串,直到上一段。例如,我想有:字符串操作在Python中的數組的所有元素

input = 'A.01.0' 
output = 'A.01' 

input = 'A.0' 
output = 'A' 

而且我想一個數組的所有元素做到這一點。

+3

這聽起來像功課。如何發佈你到目前爲止的內容,以及你所困擾的內容。字符串有兩個函數'split'和'join',您會發現它們很有用。 – SteveMc

回答

3

使用一些魔法rsplit:

x=["123","456.678","abc.def.ghi"] 
[y.rsplit(".",1)[0] for y in x] 
-1

像這樣的事情?

>>> i = ['A.01.0', 'A.0'] 
>>> [x[:x.rfind('.')] for x in i] 
['A.01', 'A'] 
+0

如果找不到字符,'rfind'返回'-1',所以''abc「[:」abc「.rfind('。')]'將變爲'」ab「'而不是'」abc「'。這就是爲什麼rsplit在這裏更合適。 –

0

這是生成所需輸出格式的一種方法。你需要改變這個以適應你的需求。

output = input[:input.rindex('.')] 

對於整個陣列:

arr = ['A.01.0', 'A.0'] 
arr = [x[:x.rindex('.')] for x in arr] 

希望幫助:-)

+2

注意到如果'。'會引發ValueError。不存在 –

+0

@ F.C好的,謝謝你的提示。 – saadtaame

相關問題